150. 逆波兰表达式求值---JAVA---LeetCode
生活随笔
收集整理的這篇文章主要介紹了
150. 逆波兰表达式求值---JAVA---LeetCode
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class Solution {public int evalRPN(String[] tokens) {//創建一個棧,只需要一個棧即可Stack<Integer> stack = new Stack<>();//遍歷 lsfor(String item:tokens){//這里使用正則表達式來取出數if(isNumber(item)){//匹配的是多位數//入棧stack.push(Integer.parseInt(item));}else {//pop出兩個數,并運算,再入棧int num2=stack.pop();int num1=stack.pop();int res=0;if(item.equals("+")){res=num1+num2;}else if(item.equals("-")){res=num1-num2;}else if(item.equals("*")){res=num1*num2;}else if(item.equals("/")){res=num1/num2;}//把res入棧stack.push(res);}}//最后留在stack中的數據就是運算結果return stack.pop();}public boolean isNumber(String token) {return !("+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token));}
}
注意點:
字符串轉化為數字
方式一
方式二
總結
以上是生活随笔為你收集整理的150. 逆波兰表达式求值---JAVA---LeetCode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆波兰表达式中缀表达式转换为后缀表达式
- 下一篇: 怪物猎人世界大凶豺龙在哪 贼龙具体位置介