其他分享
首页 > 其他分享> > Leetcode15——150.逆波兰表达式求值

Leetcode15——150.逆波兰表达式求值

作者:互联网

在这里插入图片描述
c_str()
函数原型为:const char * c_str(),如果要将string对象,转化为char * 对象
atoi()
函数原型为: int atoi(char *str),用途是将字符串转换成一个整数值,str是待转化成整数值的字符串
substr()
函数原型为:basic string::substr(string,start,length),也可把string移到外面,为string &a,a.substr(start,length),其中a是待截取的字符串,start表示从截取开始的前一位,length表示截取长度,例如string &a=“hello world”,则a.substr(6,5)=world.

class Solution {
public:
    bool isNumber(string t){
          return !((t=="+")||(t=="-")||(t=="*")||(t=="/"));
    }
    int evalRPN(vector<string>& tokens) {
        stack<int>st;
    
          for(auto t:tokens){
              if(isNumber(t)){
                  st.push(atoi(t.c_str()));
              }else{
               int a=st.top();
               st.pop();
               int b=st.top();
               st.pop();
              
               if(t[0]=='+'){
                 
                 st.push(a+b);
                 
              }else if(t[0]=='-'){
                 
                 st.push(b-a);
                
              }else if(t[0]=='*'){
                 
                 st.push(a*b);
               
              }else if(t[0]=='/'){
                 
                 st.push(b/a);
                 
              }
            }
          }
          return st.top();
    }
};

标签:150,string,substr,int,st,push,Leetcode15,str,求值
来源: https://blog.csdn.net/weixin_45627369/article/details/120767949