#!/usr/bin/python
#* encoding=utf-8
s = "20-5*(0+1)*5^(6-2^2)"
c = 0
top = [0,s[c],0]
op = [["0","1","2","3","4","5","6","7","8","9"],["+","-"],["*","/"],["^"]]
def getLev(ch):
for c1 in range(0, len(op)):
for c2 in range(0, len(op[c1])):
if (op[c1][c2]==ch):
return c1
elif (len(ch)>1):
match = 0
for c3 in range(0, len(ch)):
if (getLev(ch[c3])>=0):
match+=1
if (match==len(ch)):return c1
return -1
def makeTree(root):
global c
global s
c += 1
if (c>=len(s)):
return root
if (s[c]=="("):
c+=1
node