我觉得这道题不算很难,但是有很多很多细节要处理;看了题解,发现自己的思路和题解其实很相似;但是很多地方我的处理方式是有问题的;导致后面代码越改越乱;这一道题耽误了太多题解,索性看题解了;下面是一段改了很久依然没有过的代码=.=:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def str2tree(self, s: str) -> TreeNode:
flag = 1
num = 0
stack = []
count = 0
if len(s) == 0:
return None
for i in range(0,len(s)):
if s[i] == '-':
flag = -1
elif s[i] == '(':
count += 1
if num:
t = TreeNode(num*fl