[946] 验证栈序列(24)

125 阅读1分钟

这个题,当时听的时候觉得都理解了,然后过了2天自己开始写,感觉又不理解了,先记录一下吧,回头多刷几遍,再深究


// @lc code=start
/**
 * @param {number[]} pushed
 * @param {number[]} popped
 * @return {boolean}
 */
var validateStackSequences = function (pushed, popped) {
	const arr = [];
	let i = 0;

	for (const item of pushed) {
		arr.push(item)
		// 用自定arr的最后一个数和popped的第一个比
		while (arr.length && arr[arr.length - 1] === popped[i]) {
			arr.pop();
			i++
		}
	}

	return !arr.length

};