题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pushV int整型一维数组
* @param popV int整型一维数组
* @return bool布尔型
*/
func IsPopOrder( pushV []int , popV []int ) bool {
// write code here
stack := make([]int,0);//用整型分片模拟正整数栈
popIndex :=0;
for _,pushVal := range pushV{//遍历pushV
stack = append(stack,pushVal);//模拟压栈
for len(stack)>0 && stack[len(stack)-1] == popV[popIndex] {//栈非空且栈顶等于popV当前数
stack= stack[:len(stack)-1];//模拟出栈
popIndex++;//继续遍历
}
}
return len(stack)==0 && popIndex==len(popV);
}
查看4道真题和解析