写的一个代码,虽然正确通过了,但我觉得会报vector越界的错误
class Solution { public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { int length1 = pushV.size(); int length2 = popV.size(); if(length1 <= 0 || length2 <= 0 || length1 != length2) return false; stack<int> sta; int current = 0; for(int i = 0;i < length2;i++){ if(sta.empty()){ while(pushV[current] != popV[i]){ if(current >= length1) return false; sta.push(pushV[current]); current++; } current++; } else{ if(sta.top() == popV[i]){ sta.pop(); } else{ while(pushV[current] != popV[i]){ if(current >= length1) return false; sta.push(pushV[current]); current++; } current++; } } } return true; } };