diff --git a/notes/30. 包含 min 函数的栈.md b/notes/30. 包含 min 函数的栈.md index 32c76b6e..44a84d5a 100644 --- a/notes/30. 包含 min 函数的栈.md +++ b/notes/30. 包含 min 函数的栈.md @@ -2,7 +2,7 @@ ## 题目链接 -[牛客网](https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&tqId=11173&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking&from=cyc_github) +[Leetcode](https://leetcode.cn/problems/bao-han-minhan-shu-de-zhan-lcof/) ## 题目描述 @@ -15,24 +15,32 @@

```java -private Stack dataStack = new Stack<>(); -private Stack minStack = new Stack<>(); +class MinStack { -public void push(int node) { - dataStack.push(node); - minStack.push(minStack.isEmpty() ? node : Math.min(minStack.peek(), node)); -} + private Stack dataStack; + private Stack minStack; -public void pop() { - dataStack.pop(); - minStack.pop(); -} + public MinStack() { + dataStack = new Stack<>(); + minStack = new Stack<>(); + } -public int top() { - return dataStack.peek(); -} + public void push(int x) { + dataStack.push(x); + minStack.push(minStack.isEmpty() ? x : Math.min(minStack.peek(), x)); + } -public int min() { - return minStack.peek(); + public void pop() { + dataStack.pop(); + minStack.pop(); + } + + public int top() { + return dataStack.peek(); + } + + public int getMin() { + return minStack.peek(); + } } ```