【栈】【字符串和int类型转化】Leetcode 150 逆波兰表达式求值

发布时间:2024年01月17日

【栈】【字符串和int类型转化】Leetcode 150 逆波兰表达式求值

---------------🎈🎈题目链接 Leetcode 150 逆波兰表达式求值 🎈🎈-------------------

在这里插入图片描述

解法1 栈

字符串转化为int类型数据:
Integer.parseInt(s)
Long.parseLong(s)
Double.parseDouble(s)
判断字符串相等
s1.equals(s2)
创建栈
Stack<> mystack = new Stack<>();

时间复杂度O(N)
空间复杂度O(N)

class Solution {
    public int evalRPN(String[] tokens) {
        Stack<Integer> mystack = new Stack<>();

        for(int i = 0; i < tokens.length; i++){
            if(tokens[i].equals("+")){
                int temp = mystack.pop();
                mystack.push(mystack.pop() + temp);
            } else if(tokens[i].equals("-")){
                int temp = mystack.pop();
                mystack.push(mystack.pop() - temp);
            } else if(tokens[i].equals("*")){
                int temp = mystack.pop();
                mystack.push(mystack.pop() * temp);
            } else if(tokens[i].equals("/")){
                int temp = mystack.pop();
                mystack.push(mystack.pop() / temp);
            } else{
                mystack.push(Integer.parseInt(tokens[i]));
            }
        }
        return  mystack.pop();
    }
}
文章来源:https://blog.csdn.net/prince0520/article/details/135662432
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。