再帰
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