题解 | #牛牛出入圈#
牛牛出入圈
https://www.nowcoder.com/practice/94b5c710f30c490f89be4f08b477edb4
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param enter int整型vector * @param leave int整型vector * @return bool布尔型 */ bool validateCowCircle(vector<int>& enter, vector<int>& leave) { // write code here int pos=0;//出圈的序号 stack<int> st; st.push(enter[0]); int ent=1;//进圈序号 while(true){ //出圈序号和栈顶符合 出栈 if(st.size()>0&&leave[pos]==st.top()){ st.pop(); pos++; if(pos==leave.size()) return true; } //否则继续enter else{ st.push(enter[ent]); ent++; if(enter.size()==ent) break; } } //该进的都进了 看看全出来能不能和剩余leave数组顺序对应上 while(st.size()>0){ if(leave[pos]==st.top()){ st.pop(); pos++; } else{ return false; } } return true; } };