Stacks

A stack is a data structure that uses a principle called Last-In-First-Out (LIFO), meaning that the last object added to the stack must be the first object removed from it.

At minimum, any stack should be able to perform the following three operations:

  • Peek: Return the object at the top of the stack (without removing it).
  • Push: Add an object passed as an argument to the top of the stack.
  • Pop: Remove the object at the top of the stack and return it.

The diagram below demonstrates these simple operations on a stack:

stack.png

In addition, it's often helpful to implement a method to check whether or not a stack is empty to ensure you are not attempting to perform peek or pop operations on an empty stack.

Sample Java Implementation

EXAMPLE
The code below demonstrates a simple Java Stack implementation.

Run
Output

 
Related challenge for Stacks
Go to Top
  1. Challenge Walkthrough
    Let's walk through this sample challenge and explore the features of the code editor.1 of 6
  2. Review the problem statement
    Each challenge has a problem statement that includes sample inputs and outputs. Some challenges include additional information to help you out.2 of 6
  3. Choose a language
    Select the language you wish to use to solve this challenge.3 of 6
  4. Enter your code
    Code your solution in our custom editor or code in your own environment and upload your solution as a file.4 of 6
  5. Test your code
    You can compile your code and test it for errors and accuracy before submitting.5 of 6
  6. Submit to see results
    When you're ready, submit your solution! Remember, you can go back and refine your code anytime.6 of 6
  1. Check your score