LeetCode题解-逆波兰表达式求值-Java

简介: 逆波兰表达式求值-Java

一看就懂,用的栈,表达式求值的经典套路

class Solution {
   
    public int evalRPN(String[] tokens) {
   
        Stack<Integer> numStack=new Stack<>();
        for (String token : tokens) {
   
            if (!isOperator(token)){
   
                numStack.push(Integer.parseInt(token));
            }else {
   
                numStack.push(Operation(numStack.pop(),numStack.pop(),token.charAt(0)));
            }
        }
        return numStack.pop();
    }

    private boolean isOperator(String token) {
   
        if (token.length()>1){
   
            return false;
        }
        char first=token.charAt(0);
        return first=='+'||first=='-'||first=='*'||first=='/';
    }
    private int Operation(int one,int two,char token) {
   
        switch (token){
   
            case '+':
                return one+two;
            case '-':
                return two-one;
            case '*':
                return one*two;
            case '/':
                return two/one;
        }
        return 0;
    }
}
目录
相关文章
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
23 1
|
19天前
|
算法 Java C语言
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
23 0
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
31 0
|
2月前
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
23 0
|
2月前
|
算法 Java
[Java·算法·中等] LeetCode15. 三数之和
[Java·算法·中等] LeetCode15. 三数之和
30 0
|
15天前
|
存储 Java C++
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
14 1
|
2月前
|
存储 人工智能 BI
leetcode 399 除法求值
leetcode 399 除法求值
13 1
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
23 0
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
22 0