剑指offer-题21:包含min函数的栈
2018-03-18 16:00
375 查看
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。实验平台:牛客网
解决思路:
java:
import java.util.Stack; public class Solution { Stack<Integer> minStack = new Stack<>(); Stack<Integer> dataStack = new Stack<>(); public void push(int node) { this.dataStack.push(node); if (minStack.isEmpty() || node < minStack.peek()) { minStack.push(node); } else { minStack.push(minStack.peek()); } } public void pop() { if (!dataStack.isEmpty()) { dataStack.pop(); minStack.pop(); } } public int top() { return dataStack.peek(); } public int min() { return minStack.peek(); } }
python:
# -*- coding:utf-8 -*- class Solution: data_stack = [] min_stack = [] def push(self, node): self.data_stack.append(node) if len(self.min_stack) == 0 or node < self.min_stack[-1]: self.min_stack.append(node) else: self.min_stack.append(self.min_stack[-1]) def pop(self): if len(self.data_stack) > 0: self.data_stack.pop() self.min_stack.pop() def top(self): return self.data_stack[-1] def min(self): return self.min_stack[-1]
相关文章推荐
- 剑指Offer---面试题21:包含min函数的栈
- 【剑指offer】面试题21:包含min函数的栈
- 【剑指offer】面试题21:包含min函数的栈
- 剑指offer-面试题21.包含min函数的栈
- Java - 剑指offer_面试题21_包含min函数的栈
- 剑指offer-4-面试21:包含min函数的栈
- [剑指offer][面试题21]包含min函数的栈
- 剑指offer之面试题21包含min函数的栈
- 剑指offer 21题 【举例让抽象具体化】包含min函数的栈
- 【剑指Offer】面试题21:包含min函数的栈
- 剑指Offer面试题20顺时针打印矩阵,面试题21包含min函数的栈
- 剑指offer面试题21-包含min函数的栈
- 剑指Offer_面试题21_包含min函数的栈
- 剑指offer--面试题21:包含min函数的栈--Java实现
- 剑指Offer之面试题21:包含min函数的栈
- 【面试题】剑指Offer-21-包含Min函数的栈
- 剑指offer21:包含min函数的栈
- 剑指offer——面试题21:包含min函数的栈(泛型编程,一个巧妙的思维)
- 剑指Offer:面试题21 包含min函数的栈
- 剑指offer题21 包含min函数的栈