【剑指offer】面试题 31. 栈的压入、弹出序列
2024-10-21 12:45:05
面试题 31. 栈的压入、弹出序列
题目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 1、2、3、4、5 是某栈的压栈序列,序列 4、5、3、2、1 是该压栈序列对应的一个弹出序列,但 4、3、5、1、2 就不可能是该压栈序列的弹出序列。
Java 实现
import java.util.Stack;
public class Solution {
public boolean IsPopOrder(int[] pushA, int[] popA) {
int n = pushA.length;
int i = 0;
Stack<Integer> stack = new Stack<>();
for (int x : pushA) {
stack.push(x);
while (i < n && !stack.isEmpty() && stack.peek() == popA[i]) {
stack.pop();
i++;
}
}
return stack.isEmpty();
}
}
最新文章
- Java线程并发中常见的锁
- 异常和IO
- php上传文件大小限制修改
- JS实现 键盘操作
- SQL SERVER其它函数
- C盘空间不足,释放C盘空间
- Windows下与Linux下编写socket程序的区别 《转载》
- Marshal UTF8 Strings in .NET
- android之ViewStub的使用
- 数据结构-环形队列 C和C++的实现
- [Scikit-learn] 1.2 Dimensionality reduction - Linear and Quadratic Discriminant Analysis
- mybatis通用mapper的使用
- [Swift]LeetCode654. 最大二叉树 | Maximum Binary Tree
- VBA汇总同目录下的所有工作簿数据到另一个工作簿,并进行统计
- 【emWin】例程十六:窗口管理器
- 证券化代币的时代已经到来,STO将引爆区块链经济
- day3 zookeeper
- AngularJS一个由于未声明对象而报的错
- docker registry push错误“server gave HTTP response to HTTPS client”
- ROS (Robot Operating System) 相关资料与文档