本文共 940 字,大约阅读时间需要 3 分钟。
vector 容器序列
stack 栈 算法课老师没讲代码,然后leetcode上更加骚的东西bool validateStackSequences(vector & pushV, vector & popV) { if(popV.empty() && pushV.empty()) return 1; if(popV.empty() || pushV.empty()) return 0; int pushOrd = 0, popOrd = 0; // 遍历记录 stack V; for (pushOrd = 0, popOrd = 0; pushOrd < pushV.size(); ++pushOrd) // 按顺序遍历 { V.push(pushV[pushOrd]); // 入栈 while (!V.empty() &&popV[popOrd] == V.top()) // 如果栈顶元素等于出栈元素 { V.pop(); // 出栈 popOrd += 1; // 向后移 } } // 全部入栈完毕,如果栈为空,直接返回 while (!V.empty() && V.top() == popV[popOrd]) { V.pop(); popOrd += 1; } return V.empty(); }
转载地址:http://hpcki.baihongyu.com/