/*
22:> 栈的弹出顺序
*/
bool IsPopOrder(vector<int> pushV, vector<int> popV) {
if (pushV.size() == 0) return false;
vector<int> stack;
for (int i = 0, j = 0; i < pushV.size();) {
stack.push_back(pushV[i++]);
while (j < popV.size() && stack.back() == popV[j]) {
stack.pop_back();
j++;
}
}
return stack.empty();
}
//void test()
//{
// vector<int> pushV;
// pushV.push_back(1);
// pushV.push_back(2);
// pushV.push_back(3);
// pushV.push_back(4);
// pushV.push_back(5);
//
// vector<int> popV;
// popV.push_back(4);
// popV.push_back(5);
// popV.push_back(3);
// popV.push_back(2);
// popV.push_back(1);
//
// cout << IsPopOrder( pushV, popV) << endl;
//}
栈的弹出顺序
最新推荐文章于 2022-03-18 18:46:52 发布