This post is completed by 1 user
|
Add to List |
377. Convert Postfix to Infix Expression
Objective: Given a Postfix expression, write an algorithm to convert it into Infix expression.
Example:
Input: Postfix expression: A B + Output: Infix expression- (A + B) Input: Postfix expression: ABC/-AK/L-* Output: Infix expression: ((A-(B/C))*((A/K)-L))
Approach: Use Stack
Algorithm:
Iterate the given expression from left to right, one character at a time
- If a character is operand, push it to stack.
- If a character is an operator,
- pop operand from the stack, say it's s1.
- pop operand from the stack, say it's s2.
- perform (s2 operator s1) and push it to stack.
- Once the expression iteration is completed, initialize the result string and pop out from the stack and add it to the result.
- Return the result.
Please walk through the example below for more understanding.
Output:
Postfix Expression: ABC/-AK/L-* Infix Expression: ((A-(B/C))*((A/K)-L))