面试题 31. 栈的压入、弹出序列

NowCoder

LeetCode

题目描述

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 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();
}
}

最新文章

  1. Java线程并发中常见的锁
  2. 异常和IO
  3. php上传文件大小限制修改
  4. JS实现 键盘操作
  5. SQL SERVER其它函数
  6. C盘空间不足,释放C盘空间
  7. Windows下与Linux下编写socket程序的区别 《转载》
  8. Marshal UTF8 Strings in .NET
  9. android之ViewStub的使用
  10. 数据结构-环形队列 C和C++的实现
  11. [Scikit-learn] 1.2 Dimensionality reduction - Linear and Quadratic Discriminant Analysis
  12. mybatis通用mapper的使用
  13. [Swift]LeetCode654. 最大二叉树 | Maximum Binary Tree
  14. VBA汇总同目录下的所有工作簿数据到另一个工作簿,并进行统计
  15. 【emWin】例程十六:窗口管理器
  16. 证券化代币的时代已经到来,STO将引爆区块链经济
  17. day3 zookeeper
  18. AngularJS一个由于未声明对象而报的错
  19. docker registry push错误“server gave HTTP response to HTTPS client”
  20. ROS (Robot Operating System) 相关资料与文档

热门文章

  1. Vue.js not detected
  2. python列表相关函数
  3. po模式
  4. php正则表示中的元字符
  5. Greenplum 资源队列(转载)
  6. hibernate实现增删改查
  7. terraform v0.12.0 发布了
  8. Codeforces 526C.Om Nom and Candies
  9. 前端如何搭建vue UI组件库/封装插件(从零到有)
  10. Vue2.0 render: h =&gt; h(App)的解释