算法4 补全 1+2)*3-4)*5-6))) 左括号
Stack<String> stack = new Stack<String>(); //栈存的是数字
Stack<String> ops = new Stack<String>(); //栈存的是符号
String str = "1+2)*3-4)*5-6)))";
for(int i=0;i<str.length();i++){
String temp = String.valueOf(str.charAt(i));
if(temp.equals(")")){
String valright = stack.pop();
String valleft = stack.pop();
String temp1 = "("+valleft+ops.pop()+valright+")";
stack.push(temp1);
}else if("+*-%".indexOf(temp)!=-1){
ops.push(temp);
}else{
stack.push(temp);
}
}
Iterator<String> res = stack.iterator();
while(res.hasNext()){
System.out.print(res.next());
}