题解 | #牛牛出入圈#
牛牛出入圈
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;
}
};
字节跳动公司福利 1297人发布
查看24道真题和解析