我正在尝试解决一个涉及将反向波兰表示法转换为中缀表示法的编程挑战。例如: 1 3 + 2 4 5 - + / 将是: ((1+3)/(2+(4-5))) 我的解决方案到目前为止确实有效,但速度不够快。所以我正在寻找任何优化建议。
public class betteralgo {
public static void main(String[] args) throws IOException {
BufferedReader bi = new BufferedReader(new InputStreamReader(System.in));
String line = bi.readLine();
String[] input = line.split(" ");
StringBuilder builder = new StringBuilder();
Stack<String> stack = new Stack<String>();
for(String e:input) {
switch(e){
case("+"):
case("-"):
case("*"):
case("/"):
String i = stack.pop();
String k = stack.pop();
stack.push("(" + k + e + i + ")");
break;
default:
stack.push(e);
}
}
System.out.println(stack.pop());
}
}
qq_笑_17
Qyouu
相关分类