/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pushV int整型一维数组 * @param pushVLen int pushV数组长度 * @param popV int整型一维数组 * @param popVLen int popV数组长度 * @return bool布尔型 */ #include <stdbool.h> bool IsPopOrder(int* pushV, int pushVLen, int* popV, int popVLen ) { // write code here if (pushVLen != popVLen) { return false; } int pushIndex = 0; int popIndex = 0; int stack[1000]; int top = -1; while (popIndex < popVLen) { while (top == -1 || stack[top] != popV[popIndex]) { if (pushIndex >= pushVLen) { break; } stack[++top] = pushV[pushIndex++]; } if (stack[top] != popV[popIndex]) { break; } top--; popIndex++; } return (popIndex == popVLen && top == -1); }