Skip to content

Commit 838ffb5

Browse files
Create ReversePolishNotation.java
1 parent 601d4ee commit 838ffb5

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class ReversePolishNotation { // Postfix
2+
public int evalRPN(String[] tokens) {
3+
Stack<Integer> stk = new Stack<>();
4+
5+
for(String i : tokens){
6+
if(i.equals("+")){
7+
int b = stk.pop();
8+
int a = stk.pop();
9+
stk.push(a+b);
10+
}
11+
else if(i.equals("-")){
12+
int b = stk.pop();
13+
int a = stk.pop();
14+
stk.push(a-b);
15+
}
16+
else if(i.equals("*")){
17+
int b = stk.pop();
18+
int a = stk.pop();
19+
stk.push(a*b);
20+
}
21+
else if(i.equals("/")){
22+
int b = stk.pop();
23+
int a = stk.pop();
24+
stk.push(a/b);
25+
}
26+
else{
27+
stk.push(Integer.parseInt(i));
28+
}
29+
}
30+
return stk.pop();
31+
}
32+
}

0 commit comments

Comments
 (0)