224. 基本計算器
題目鏈接:224. 基本計算器文章來源:http://www.zghlxwxcb.cn/news/detail-804222.html
代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-804222.html
//參考:leetcode官方題解
class Solution {
public:
int calculate(string s) {
int ret=0;
stack<int> ops;//棧頂元素記錄了當(dāng)前位置所處的每個括號所共同形成的符號
ops.push(1);
int sign=1;
int i=0;
while(i<s.size())
{
if(s[i]==' ')
i++;
else if(s[i]=='+')
{
sign=ops.top();
i++;
}
else if(s[i]=='-')
{
sign=-ops.top();
i++;
}
else if(s[i]=='(')
{
ops.push(sign);
i++;
}
else if(s[i]==')')
{
ops.pop();
i++;
}
else
{
long num=0;
//將字符表示的數(shù)轉(zhuǎn)化為int類型的數(shù)
while(i<s.size()&&s[i]>='0'&&s[i]<='9')
{
num=num*10+s[i]-'0';
i++;
}
ret +=sign*num;
}
}
return ret;
}
};
到了這里,關(guān)于224. 基本計算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!