LeetCode - 094--バイナリツリートラバーサルシーケンス(パイソン)

再帰

1つの #のバイナリツリーノードの定義。
2  #のクラスツリーノード:
3       DEF __init __(自己、X):
4           = X self.val 
5           self.left =なし
6           self.right =なし
7つの 
8  クラス:溶液
 9      DEF inorderTraversal(自己、ルート:ツリーノード) - > リスト[INT]:
 10          なら ないルート:
 11              リターン[]
 12          リターン self.inorderTraversal(root.left)+ [root.val] + self.inorderTraversal(root.right)

非再帰

1  クラスのソリューション:
 2      DEF inorderTraversal(自己、ルート:ツリーノード) - > リスト[INT]:
 3          スタック= []
 4つ          のRES = []
 5          ながらまたはスタック:
 6              場合ルート:
 7                  stack.append(ルート)
 8                  ルート= root.left
 9              10                  ルート= stack.pop()
 11                  res.append(root.val)
 12                  =ルートroot.right
 13          リターン RES

 

おすすめ

転載: www.cnblogs.com/NPC-assange/p/11486400.html
おすすめ