Bird
Raised Fist0
DSA C#programming~20 mins

Peek Top Element of Stack in DSA C# - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Stack Peek Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of peeking the top element of this stack?

Consider the following C# code that uses a stack. What will be printed after peeking the top element?

DSA C#
using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Stack<int> stack = new Stack<int>();
        stack.Push(10);
        stack.Push(20);
        stack.Push(30);
        Console.WriteLine(stack.Peek());
    }
}
AThrows InvalidOperationException
B10
C20
D30
Attempts:
2 left
💡 Hint

Peek returns the last pushed item without removing it.

❓ Predict Output
intermediate
2:00remaining
What happens when peeking an empty stack?

What will happen if you call Peek() on an empty stack in C#?

DSA C#
using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Stack<int> stack = new Stack<int>();
        Console.WriteLine(stack.Peek());
    }
}
APrints 0
BThrows InvalidOperationException
CPrints null
DPrints an empty line
Attempts:
2 left
💡 Hint

Peek on empty stack throws an exception.

🔧 Debug
advanced
2:00remaining
Identify the error in peeking the top element

What error will this code produce when trying to peek the top element?

DSA C#
using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Stack<string> stack = new Stack<string>();
        stack.Push("apple");
        stack.Push("banana");
        stack.Pop();
        stack.Pop();
        Console.WriteLine(stack.Peek());
    }
}
APrints "apple"
BPrints "banana"
CThrows InvalidOperationException
DThrows NullReferenceException
Attempts:
2 left
💡 Hint

After popping all elements, the stack is empty.

❓ Predict Output
advanced
2:00remaining
What is the stack content after peeking?

What is the content of the stack after peeking the top element?

DSA C#
using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Stack<int> stack = new Stack<int>();
        stack.Push(5);
        stack.Push(15);
        int top = stack.Peek();
        Console.WriteLine(string.Join(", ", stack));
    }
}
A15, 5
B5, 15
C15
D5
Attempts:
2 left
💡 Hint

Peek does not remove the top element.

🧠 Conceptual
expert
2:00remaining
Which statement about Peek operation on stack is true?

Choose the correct statement about the Peek operation on a stack.

APeek returns the top element without removing it and throws an exception if the stack is empty.
BPeek adds a new element to the top of the stack.
CPeek returns null if the stack is empty without throwing an exception.
DPeek removes and returns the top element of the stack.
Attempts:
2 left
💡 Hint

Peek only looks at the top element without changing the stack.

Practice

(1/5)
1. What does the Peek() method do in a stack?
easy
A. Returns the top element without removing it
B. Removes and returns the top element
C. Adds a new element to the top
D. Checks if the stack is empty

Solution

  1. Step 1: Understand the Peek method purpose

    The Peek method is designed to look at the top element of the stack without changing the stack itself.
  2. Step 2: Differentiate from Pop method

    Unlike Pop, Peek does not remove the element; it only returns it.
  3. Final Answer:

    Returns the top element without removing it -> Option A
  4. Quick Check:

    Peek() returns top element without removal [OK]
Hint: Peek shows top without removing it [OK]
Common Mistakes:
  • Confusing Peek with Pop
  • Thinking Peek adds elements
  • Assuming Peek empties the stack
2. Which of the following is the correct syntax to peek the top element of a stack named myStack in C#?
easy
A. var top = myStack.Pop();
B. var top = myStack.Top();
C. var top = myStack.Peek();
D. var top = myStack.GetTop();

Solution

  1. Step 1: Recall Stack method names in C#

    The Stack class in C# uses Peek() to look at the top element without removing it.
  2. Step 2: Verify method correctness

    Top(), GetTop() are not valid Stack methods; Pop() removes the element.
  3. Final Answer:

    var top = myStack.Peek(); -> Option C
  4. Quick Check:

    Peek() is correct syntax for top element [OK]
Hint: Use Peek() method to get top element [OK]
Common Mistakes:
  • Using Pop() instead of Peek()
  • Using non-existent methods like Top()
  • Missing parentheses after Peek
3. What will be the output of the following C# code?
Stack<int> numbers = new Stack<int>();
numbers.Push(10);
numbers.Push(20);
numbers.Push(30);
Console.WriteLine(numbers.Peek());
Console.WriteLine(numbers.Count);
medium
A. 10 3
B. 30 3
C. 20 2
D. 30 2

Solution

  1. Step 1: Trace the Push operations

    Elements pushed in order: 10, then 20, then 30. Stack top is 30.
  2. Step 2: Evaluate Peek and Count

    Peek returns top element 30 without removing it. Count remains 3 as no Pop occurred.
  3. Final Answer:

    30 3 -> Option B
  4. Quick Check:

    Peek = 30, Count = 3 [OK]
Hint: Peek shows last pushed; Count unchanged by Peek [OK]
Common Mistakes:
  • Assuming Peek removes element
  • Confusing Count after Peek
  • Mixing order of pushed elements
4. Identify the error in this code snippet that tries to peek the top element of a stack:
Stack<string> stack = new Stack<string>();
string top = stack.Peek;
Console.WriteLine(top);
medium
A. Peek removes the element, so top is null
B. Stack is not initialized properly
C. Console.WriteLine cannot print stack elements
D. Peek is used without parentheses, causing a syntax error

Solution

  1. Step 1: Check method call syntax

    Peek is a method and must be called with parentheses: Peek()
  2. Step 2: Identify error type

    Using Peek without parentheses causes a compile-time syntax error.
  3. Final Answer:

    Peek is used without parentheses, causing a syntax error -> Option D
  4. Quick Check:

    Method calls need () [OK]
Hint: Always use parentheses when calling methods [OK]
Common Mistakes:
  • Forgetting parentheses on Peek
  • Assuming Peek removes element
  • Thinking Console.WriteLine can't print strings
5. Given a stack Stack<char> letters with elements 'a', 'b', 'c' pushed in that order, write the output after this code:
char top1 = letters.Peek();
letters.Pop();
char top2 = letters.Peek();
Console.WriteLine(top1);
Console.WriteLine(top2);
Console.WriteLine(letters.Count);
hard
A. c b 2
B. a b 3
C. c c 3
D. b a 1

Solution

  1. Step 1: Trace initial stack and first Peek

    Stack after pushes: bottom 'a', then 'b', top 'c'. Peek() returns 'c' as top1.
  2. Step 2: Pop removes top element 'c'

    After Pop(), top 'c' is removed. Stack top is now 'b'.
  3. Step 3: Second Peek returns 'b' as top2

    Peek() now returns 'b'. Count is 2 because one element was removed.
  4. Final Answer:

    c b 2 -> Option A
  5. Quick Check:

    Peek then Pop then Peek updates top correctly [OK]
Hint: Peek shows current top; Pop removes it; next Peek shows new top [OK]
Common Mistakes:
  • Assuming Peek removes element
  • Confusing order of elements after Pop
  • Miscounting stack size after Pop
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard