本文主要是介绍java第一个进栈的是,牛客网刷题java之输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)
思路:
代码需要注意的地方:
导入包
判断为空
while((!stack.isEmpty())&&stack.peek()==popA[index])条件
代码:
import java.util.ArrayList;
//这个地方得导入栈的包
import java.util.Stack;
public class Solution {
public boolean IsPopOrder(int [] pushA,int [] popA)
{
//如果他们之间有一个为空,则是不合法的,直接返回false
if(pushA==null&&popA==null)
{
return false;
}
//创建一个辅助栈来模拟入栈出栈的过程
Stackstack=new Stack();
//定义一个index来记录出栈popA的位置
int index=0;
//循环,一直到所有内容入栈完毕
for(int i=0;i
这篇关于java第一个进栈的是,牛客网刷题java之输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!