工信部外国网站备案,近期10大新闻事件,网络营销的内容是什么,网页设计制作方案文章目录题目描述代码 思路二刷题目描述 打卡第三天#xff01;加油加油#xff5e; 数据结构笔试题貌似也会考 #xff0c;不过考法不一样#xff0c;有点规律。总的来说还是挺有意思的#xff0c;我们直接来看代码吧#xff5e;
代码 思路
O(…
文章目录题目描述代码 思路二刷题目描述 打卡第三天加油加油 数据结构笔试题貌似也会考 不过考法不一样有点规律。总的来说还是挺有意思的我们直接来看代码吧
代码 思路
O(n) O(n)依靠栈来实现思路栈循环装入元素如果当前装入元素正好匹配弹出元素就进行一个弹出循环注意要加入一个 isEmpty() 进行短路判断噢避免空栈pop报错
class Solution {public boolean validateStackSequences(int[] pushed, int[] popped) {int len pushed.length;StackInteger stack new Stack();int i 0, j 0;for(; i len; i) {stack.push(pushed[i]);// 每次push后循环跑一次 popedwhile(!stack.isEmpty() stack.peek() popped[j]) {stack.pop();j;}}// j 能跑完则说明可行return j len;}
}二刷
核心思路每次都塞进一个。每塞进一个就开个循环能弹出多少就弹出多少。
class Solution {public boolean validateStackSequences(int[] pushed, int[] popped) {DequeInteger stack new ArrayDeque();int popIndex 0;for(int i 0; i pushed.length; i) {stack.push(pushed[i]);while(!stack.isEmpty() stack.element() popped[popIndex]) {stack.pop();popIndex;}}return popIndex popped.length;}
}