| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 
 
- class BinaryTree:
 
 -     def __init__(self, num):
 
 -         self.val = num
 
 -         self.left = None
 
 -         self.right = None
 
 -         if type(num) == list:
 
 -             self.num = num[0]
 
 -             for n in num[1:]:
 
 -                 self.insert(n)
 
 -         else:
 
 -             self.num = num
 
 -  
 
 -     def insert(self, num):
 
 -         bt = self
 
 -         while True:
 
 -             if num <= bt.num:
 
 -                 if bt.left == None:
 
 -                     bt.left = BinaryTree(num)
 
 -                     break
 
 -                 else:
 
 -                     bt = bt.left
 
 -             else:
 
 -                 if bt.right == None:
 
 -                     bt.right = BinaryTree(num)
 
 -                     break
 
 -                 else:
 
 -                     bt = bt.right
 
 -  
 
 - class Solution:
 
 -     def binaryTreePaths(self, root):
 
 -         def construct_paths(root, path):
 
 -             if root:
 
 -                 path += str(root.num)
 
 -                 if not root.left and not root.right:  
 
 -                     paths.append(path)  
 
 -                 else:
 
 -                     path += '->' 
 
 -                     construct_paths(root.left, path)
 
 -                     construct_paths(root.right, path)
 
 -  
 
 -         paths = []
 
 -         construct_paths(root, '')
 
 -         return paths
 
 -  
 
 -  
 
 - num = list(map(int,input().split()))
 
 - bt = BinaryTree(num)
 
 - s = Solution()
 
 - l = s.binaryTreePaths(bt)
 
 - for i in l:
 
 -     print(i)
 
 
  复制代码 
老师布置了一道题死活看不懂求大佬帮忙讲解一下代码。 |   
 
 
 
 |