Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- link="https://www.lintcode.com/problem/880/"
- """
- Definition of TreeNode:
- class TreeNode:
- def __init__(self, val):
- self.val = val
- self.left, self.right = None, None
- """
- class Solution:
- def str2tree(self, s):
- n,st,i=len(s),[],0
- while i<n:
- if s[i]=='-':
- i+=1
- num=0
- while i<n and s[i].isdigit():
- num=num*10+int(s[i])
- i+=1
- i-=1
- st.append(TreeNode(-num))
- elif s[i].isdigit():
- num=0
- while i<n and s[i].isdigit():
- num=num*10+int(s[i])
- i+=1
- i-=1
- st.append(TreeNode(num))
- elif s[i]==')':
- t=st.pop()
- if st[-1].left:
- st[-1].right=t
- else:
- st[-1].left=t
- i+=1
- return st[0]
Advertisement
Add Comment
Please, Sign In to add comment