Bird
Raised Fist0
DSA Javaprogramming~20 mins

Peek Top Element of Stack in DSA Java - 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 after push operations?
Consider the following Java code using a stack. What will be printed after the peek operation?
DSA Java
import java.util.Stack;
public class Main {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        stack.push(10);
        stack.push(20);
        stack.push(30);
        System.out.println(stack.peek());
    }
}
A30
B20
C10
DEmptyStackException
Attempts:
2 left
💡 Hint
Peek returns the last pushed element without removing it.
❓ Predict Output
intermediate
2:00remaining
What happens when peek is called on an empty stack?
What error or output will this Java code produce?
DSA Java
import java.util.Stack;
public class Main {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        System.out.println(stack.peek());
    }
}
Anull
BNo output
C0
DEmptyStackException
Attempts:
2 left
💡 Hint
Peek on empty stack throws an exception.
🔧 Debug
advanced
2:30remaining
Why does this peek operation print the wrong value?
Find the bug in this code that causes peek to print 20 instead of 30.
DSA Java
import java.util.Stack;
public class Main {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        stack.push(10);
        stack.push(20);
        stack.push(30);
        stack.pop();
        System.out.println(stack.peek());
    }
}
AThe pop() removed 10, so peek returns 30
BThe pop() removed 30, so peek returns 20
CThe pop() removed 30, so peek returns 10
DThe pop() removed 20, so peek returns 30
Attempts:
2 left
💡 Hint
Pop removes the top element before peek.
🧠 Conceptual
advanced
1:30remaining
What is the time complexity of the peek operation on a stack?
Choose the correct time complexity for the peek operation on a stack implemented with an array or linked list.
AO(n^2) - quadratic time
BO(n) - linear time
CO(1) - constant time
DO(log n) - logarithmic time
Attempts:
2 left
💡 Hint
Peek accesses the top element directly without iteration.
🚀 Application
expert
3:00remaining
After a sequence of operations, what is the top element of the stack?
Given the following operations on an empty stack, what will peek return?
DSA Java
Stack<String> stack = new Stack<>();
stack.push("apple");
stack.push("banana");
stack.pop();
stack.push("cherry");
stack.push("date");
stack.pop();
System.out.println(stack.peek());
A"cherry"
B"banana"
C"date"
D"apple"
Attempts:
2 left
💡 Hint
Track each push and pop carefully to find the top element.

Practice

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

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.
  2. Step 2: Compare with other stack methods

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

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

    peek() = 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 checks emptiness
2. Which of the following is the correct syntax to peek the top element of a Java Stack named stack?
easy
A. stack.peek();
B. stack.top();
C. stack.getTop();
D. stack.pop();

Solution

  1. Step 1: Recall Java Stack method names

    The Java Stack class uses peek() to view the top element without removing it.
  2. Step 2: Check other options for correctness

    top() and getTop() are not valid Stack methods; pop() removes the top element.
  3. Final Answer:

    stack.peek(); -> Option A
  4. Quick Check:

    Correct syntax for peek is stack.peek() [OK]
Hint: Use stack.peek() to view top element [OK]
Common Mistakes:
  • Using pop() instead of peek()
  • Using non-existent methods like top()
  • Missing parentheses in method call
3. What will be the output of the following Java code?
Stack<Integer> stack = new Stack<>();
stack.push(10);
stack.push(20);
stack.push(30);
System.out.println(stack.peek());
medium
A. 10
B. 30
C. 20
D. StackEmptyException

Solution

  1. Step 1: Trace the push operations

    Elements pushed in order: 10 (bottom), 20, then 30 (top).
  2. Step 2: Understand peek output

    peek() returns the top element without removing it, which is 30.
  3. Final Answer:

    30 -> Option B
  4. Quick Check:

    Top element after pushes = 30 [OK]
Hint: Peek shows last pushed element [OK]
Common Mistakes:
  • Confusing peek with pop output
  • Assuming peek returns bottom element
  • Expecting exception on non-empty stack
4. Identify the error in the following code snippet that tries to peek the top element of a stack:
Stack<String> stack = new Stack<>();
System.out.println(stack.peek());
medium
A. Throws EmptyStackException at runtime
B. Prints empty string
C. Compilation error: peek() not found
D. No error, prints null

Solution

  1. Step 1: Check stack initialization and usage

    The stack is created but no elements are pushed before peek is called.
  2. Step 2: Understand peek behavior on empty stack

    Calling peek() on an empty stack throws EmptyStackException at runtime.
  3. Final Answer:

    Throws EmptyStackException at runtime -> Option A
  4. Quick Check:

    peek() on empty stack throws exception [OK]
Hint: Peek on empty stack throws exception [OK]
Common Mistakes:
  • Assuming peek returns null if empty
  • Expecting compile-time error
  • Thinking it prints empty string
5. Given a stack with elements [5, 10, 15] (5 at bottom, 15 at top), which sequence of operations will peek the top element without removing it and then add 20 on top?
1. stack.peek();
2. stack.push(20);
3. stack.pop();
4. stack.peek();

Select the correct order of operations to achieve this.
hard
A. 3, 1, 2
B. 2, 1
C. 1, 2
D. 1, 3, 2

Solution

  1. Step 1: Peek top element without removing

    Operation 1 (stack.peek()) returns 15 without removing it.
  2. Step 2: Add 20 on top

    Operation 2 (stack.push(20)) adds 20 on top, so stack becomes [5, 10, 15, 20].
  3. Final Answer:

    1, 2 -> Option C
  4. Quick Check:

    Peek then push = 1, 2 [OK]
Hint: Peek first, then push new element [OK]
Common Mistakes:
  • Popping before peek removes top
  • Pushing before peek changes top
  • Incorrect operation order
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