Given an expression string array, return the Reverse Polish notation of this expression. (remove the parentheses)
Aka, convert infix notation to postfix notation.
Example
For the expression [3 - 4 + 5]
(which denote by ["3", "-", "4", "+", "5"]), return[3 4 - 5 +]
(which denote by ["3", "4", "-", "5", "+"])
public List<String> convertToRPN(String[] expression) { List<String> rpn = new ArrayList<>(); Stack<String> opstack = new Stack<>(); for(String op:expression) { if("+-*/".contains(op)) { while(!opstack.isEmpty() && getPriority(opstack.peek()) >= getPriority(op)) { rpn.add(opstack.pop()); } opstack.push(op); } else if("(".equals(op)) { opstack.push(op); } else if(")".equals(op)) { while(!"(".equals(opstack.peek())) { rpn.add(opstack.pop()); } opstack.pop(); } else { rpn.add(op); } } while(!opstack.isEmpty()) { rpn.add(opstack.pop()); } return rpn; } private int getPriority(String s) { char c = s.charAt(0); if(c == '+' || c== '-') { return 1; } else if(c == '*' || c == '/') { return 2; } return 0; }
相关推荐
infix to postfix using linked list
InfixToPostfix.java 前缀转中缀 java实现
实现中缀表达式到后缀表达式的转换,为InfixToPostfix类实现convertExpr(String expression),其中参数expression为中缀表达式,其返回值为后缀表达式,最后将其输出到控制台即可。 中缀表达式符合人们平时的表达习惯
netflix-infix-0.3.0.jar
编译原理课程项目作业,java语言。语法规则实现中缀转后缀,且包含批量自动生成中缀表达式。运算符包含+、-、*、/和(),数字含两位小数以及负数的运算。作业成绩94的大作。
infix转POSTFIX算法 infix转POSTFIX算法
notation-infix-postfix-prefix:在无记名的情况下进行转换的程序,可以将输入后的信息,输入后的信息,输入后的信息和输入后的信息进行转换
中缀表达式转换为后缀表达式,并且求取表达式值,而且能够输出表达式
计算器这是我根据VidMob Engineering家庭练习指南开发的计算器。如何使用要求应该安装Python 3.x运行程序将所有文件存储在Calculator.zip中的相同位置运行Calculator.py 工作成功,您可以看到以下内容 请输入数学...
infixToPostfix
中缀前缀后缀转换器 简单的C#-Win32-应用程序,可将Infix Prefix后缀表示法转换为 用于: Windows Phone 8.1-> Windows 8-> Android(Xamarin):
问题描述 中缀表达式就是我们通常所书写的数学表达式,后缀表达式也称为逆波兰表达式,在编译程序对我们书写的程序中的表达式进行语法检查时,往往就可以通过逆波兰表达式进行。我们所要设计并实现的程序就是将...
InfixToPostfix 简单定义 人脑理解此语法(9 + 0)<---中缀 计算机了解此语法9 0 + <---后缀
介绍 纪律 在此处填写您的学科名称 实验室 在此处填写您的实验室名称 实验 在此处填写您的实验名称和编号 关于实验 在此处填写此实验的简要说明 开发商名称 在此处填写实验所有者的姓名 研究所 ...
中缀表达式到后缀表达式的转换 整数操作数上的 BEDMAS 实现 输入(中缀)表达式应具有由空格分隔的操作数/运算符
一直在用 javascript 苦苦挣扎,因为我不在 javascript 课上,我已经重新启动了 postfix 计算器,希望在今晚或明天之前完成它可能会通过电子邮件向您提问,因为我可能会卡住 使用 d8 需要会见capouch,了解如何进行...
基于 Java 的 Infix2Postfix 转换和 Postfix Evaluator API
要运行演示: ./gradlew buildjava -jar build/libs/lucene-analyzing-infix-suggester-bug.jar异常显示为: Exception in thread "Thread-1" java.lang.RuntimeException: org.apache.lucene.store....
一个非常强大且可自定义的源代码,可将Infix转换为Postfix表达式。