package com.stack;import java.util.Stack;// 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。// 假设压入栈的所有数字均不相等。// 例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,// 但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)// 参考链接:https://snailclimb.gitee.io/javaguide-interview/#/./docs/c-3%E7%AE%97%E6%B3%95?id=_338-%e5%90%88%e5%b9%b6%e4%b8%a4%e4%b8%aa%e6%8e%92%e5%ba%8f%e7%9a%84%e9%93%be%e8%a1%a8public class IsPopOrder {public static boolean IsPopOrder(int [] pushA,int [] popA) {if (pushA.length == 0 || popA.length == 0){return false;}Stack<Integer> help = new Stack<>();int index= 0;for (int i = 0; i < popA.length; i++) {help.push(popA[index]);while (!help.isEmpty() && help.peek() == popA[index]){help.pop();index++;}}return help.isEmpty();}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。