题解 | 牛牛与后缀表达式

牛牛与后缀表达式

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

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 给定一个后缀表达式,返回它的结果
     * @param str string字符串
     * @return long长整型
     */
   long long legalExp(string str)
{
	long long ans = 0;
	stack<long long>sk;
	long long x = 0;
	for (int i = 0; i < str.size(); i++)
	{
		if ('0' <= str[i] && str[i] <= '9')
		{
			 //x = (long long)str[i];  12的传入不能变成1,2的传入了
             x=x*10+(str[i]-'0');
		}
		else if (str[i] == '#')
		{
			sk.push(x);
            x=0;//把这个数12清零
		}
		else {
		
				long long p = sk.top();
				sk.pop();
				long long q = sk.top();
				sk.pop();
				if (str[i] == '+')
				{
					//ans += (p + q);
					sk.push(p + q);
				}
				else if (str[i] == '-')
				{
					//ans += (q - p);
					sk.push(q-p);
				}
				else {
					//ans += (p * q);
					sk.push(p * q);
				}
		}
		
	}
	return sk.top();
}
};

全部评论

相关推荐

01-27 15:41
门头沟学院 Java
想躺平的菜鸡1枚:我项目比你难、学历比你好、还有SCI论文,投java都被拒一大片,现在基本上都要问点agent开发
软件开发投递记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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