题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param pushV int整型一维数组 # @param popV int整型一维数组 # @return bool布尔型 # class Solution: def IsPopOrder(self , pushV: List[int], popV: List[int]) -> bool: # write code here n = len(pushV) temp = [] j = 0 for i in range(n): while j<n and (len(temp)==0 or temp[-1]!=popV[i]): temp.append(pushV[j]) j+=1 if temp[-1]==popV[i]: temp.pop() else: return False return True
while j<n and (len(temp)==0 or temp[-1]!=popV[i]):栈为空、栈顶元素不等于出栈元素时,向辅助栈中添加pushV中的元素