2024年10月12日 星期六

記錄每條路徑至List中

 class Node:

  def __init__(self,key):

    self.left = None

    self.right = None

    self.val = key

  

def find_paths(root,path,all_paths):

  if root is None:

    return

  

  path.append(root.val)

  

  if root.left is None and root.right is None:

    all_paths.append(list(path))

  

  find_paths(root.left,path,all_paths)

  find_paths(root.right,path,all_paths)

  

  path.pop()


root = Node(50)

root.left = Node(30)

root.right = Node(70)

root.left.left = Node(20)

root.left.left.left = Node(15)

root.left.left.right = Node(25)

root.left.right = Node(40)

root.right.left = Node(60)

root.right.right = Node(80)


all_paths = []

find_paths(root,[],all_paths)


for path in all_paths:

  print(path)

沒有留言:

張貼留言