题解 | #栈的压入、弹出序列#

栈的压入、弹出序列

https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106

class Solution
{
public:
	/*
	 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
	 *
	 *
	 * @param pushV int整型vector
	 * @param popV int整型vector
	 * @return bool布尔型
	 */
	bool IsPopOrder(vector<int>& pushV, vector<int>& popV)
	{
		//0.规定pushV为入栈序列,popV为出栈序列
		//1.入栈序列先入栈s
		//2.s的栈顶数据和出栈序列比较
			//a.如果匹配,出栈序列++,出s的栈顶元素,继续比较,直到栈为空,或者不匹配,回到1步骤
			//b.如果不匹配,回到步骤1
		//3.如果一直走到出栈序列结束就返回true
		stack<int> s;
		int pushVIndex = 0, popVIndex = 0;
		s.push(pushV[pushVIndex++]);
		while (popVIndex < popV.size())
		{
			if (s.empty() || s.top() != popV[popVIndex])
			{
				if (pushVIndex > pushV.size())
				{
					return false;
				}
				s.push(pushV[pushVIndex]);
				pushVIndex++;
			}
			else if (s.top() == popV[popVIndex])
			{
				popVIndex++;
				s.pop();
			}
		}
		return true;
	}
};

全部评论

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
03-31 14:46
已编辑
门头沟学院 Web前端
励志成为双港第一ja...:这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务