1.包含min函数的栈

  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class Solution {
  4. // 存储最小元素数组
  5. List min = new ArrayList();
  6. // 存储入栈数组
  7. List num = new ArrayList();
  8. //入栈
  9. public void push(int node) {
  10. num.add(node);
  11. // 判断最小值存入min数组
  12. if(min.size() == 0 || node < min.get(min.size() - 1)) min.add(node);
  13. else min.add(min.get(min.size() - 1));
  14. }
  15. //出栈
  16. public void pop() {
  17. num.remove(num.size() - 1);
  18. min.remove(min.size() - 1);
  19. }
  20. //获取顶元素
  21. public int top() { // 获取最后一个元素
  22. return num.get(num.size() - 1);
  23. }
  24. //获取最小元素
  25. public int min() {
  26. return min.get(min.size() - 1);
  27. }
  28. }