题解 | #牛牛的出栈游戏#
牛牛的出栈游戏
https://www.nowcoder.com/practice/4789b06d8fab408e84320e9665eb3447?tpId=363&tqId=10624863&ru=/exam/oj&qru=/ta/super-company23Year/question-ranking&sourceUrl=%2Fexam%2Foj
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pushed int整型一维数组 * @param popped int整型一维数组 * @return bool布尔型 */ public boolean validateStackSequences (int[] pushed, int[] popped) { Stack<Integer> stack = new Stack<>(); int index = 0; for (int i = 0; i < pushed.length; i++) { stack.add(pushed[i]); while(!stack.isEmpty()&&stack.peek()==popped[index]){ stack.pop(); index++; } } return stack.isEmpty(); } }
本题知识点分析:
1.栈的出栈和入栈
2.数组遍历
3.数学模拟
本题解题思路分析:
1.先加入栈中,然后判断当栈不为空并且栈顶元素和pop[index]的元素相等时,进行出栈,然后Index++
2.返回栈是否为空的布尔值即可