leetcode【94】二叉樹的中序遍歷
阿新 • • 發佈:2018-11-07
寫在最前面:
很常規的一道二叉樹的基本操作,最偷懶的辦法是遞迴,不需要想那麼多。
給定一個二叉樹,返回它的中序 遍歷。
示例:
輸入: [1,null,2,3]
1
\
2
/
3
輸出: [1,3,2]
進階: 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def inorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ if root == None: return [] res = [] res += self.inorderTraversal(root.left) res.append(root.val) res += self.inorderTraversal(root.right) return res
注意,在這裡,res遍歷左節點和右節點是列表相加,而根節點是int型別