Untitled
unknown
plain_text
a year ago
1.9 kB
4
Indexable
from collections import deque
class Solution:
# @param A : string
# @return a string
def solve(self, A):
st = deque()
A = list(A)
result = []
st = deque()
for i in range(len(A)):
if A[i] in ['+','-','*','/','^','(']:
if A[i] =="*":
while len(st)>0 and st[-1] in ['^','/','*']:
x = st.pop()
result.append(x)
st.append(A[i])
elif A[i]=='/':
while len(st)>0 and st[-1] in ['^','*','/']:
x = st.pop()
result.append(x)
st.append(A[i])
elif A[i] == '^':
while len(st)>0 and st[-1] =='^':
x = st.pop()
result.append(x)
st.append(A[i])
elif A[i] == '+':
while len(st)>0 and st[-1] in ['-','+','*','/','^']:
x = st.pop()
result.append(x)
st.append(A[i])
elif A[i] == '-':
while len(st)>0 and st[-1] in ['-','+','*','/','^']:
x = st.pop()
result.append(x)
st.append(A[i])
elif A[i] == "(":
st.append(A[i])
elif A[i] ==")":
while len(st)>0 and st[-1]!="(":
x = st.pop()
result.append(x)
st.pop()
else:
result.append(A[i])
while len(st)>0:
result.append(st.pop())
return "".join(result)Editor is loading...
Leave a Comment