《剑指offer》包含min函数的栈
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》包含min函数的栈
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:定義棧的數(shù)據(jù)結構,請在該類型中實現(xiàn)一個能夠得到棧最小元素的min函數(shù)。
解析:直接利用java.util.Stack包里的Stack輔助實現(xiàn)該題目,需要注意的是在求min的時候,需要維護原始棧的數(shù)據(jù)以及順序,這里使用list維護。
代碼如下:
import java.util.*;public class Solution {Stack<Integer> stack = new Stack<>();public void push(int node) {stack.push(node);}public void pop() {stack.pop();}public int top() {return stack.peek();}public int min() {int min=top();List<Integer> list = new ArrayList<>();while (!stack.isEmpty()){int temp=top();list.add(temp);if(temp<min){min=temp;}pop();}Collections.reverse(list);stack.addAll(list);return min;} }總結
以上是生活随笔為你收集整理的《剑指offer》包含min函数的栈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》合并两个排序的链表
- 下一篇: 《剑指offer》栈的压入、弹出序列