题解 | #逆波兰表达式求值#

逆波兰表达式求值

https://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param tokens string字符串一维数组 
 * @param tokensLen int tokens数组长度
 * @return int整型
 */
 #include<stdlib.h>
 int top=0;
 long long  a[100009];
 void push(int x);
 int pop();
int evalRPN(char** tokens, int tokensLen ) {
    int i,a,b;
    top=0;
    for(i=0;i<tokensLen;i++)
    {
        if (strcmp(tokens[i],"+")==0)
        {
            a=pop();
            b=pop();
            push(a+b);
        }
        else if (strcmp(tokens[i],"-")==0)
         {
            a=pop();
            b=pop();
            push(b-a);
        }
         else if (strcmp(tokens[i],"*")==0)
         {
            a=pop();
            b=pop();
            push(a*b);
        }
         else if (strcmp(tokens[i],"/")==0)
         {
            a=pop();
            b=pop();
            push(b/a);
        }
        else push(atoi(tokens[i]));

    }
    return  pop();
}
void push(int x)
{
    top++;
    a[top]=x;
}
int pop()
{
    top--;
    return a[top+1];
}

全部评论

相关推荐

这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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