LeetCode 199. 二叉树的右视图 Binary Tree Right Side View Python3解法

解题思路

采用DFS(深度优先遍历),遍历过程中对深度进行标记;
其次,为了得到右视图,先遍历节点的右子树,再遍历左子树

Python代码

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def rightSideView(self, root: TreeNode) -> List[int]:
        res = []
        def dfs(root, depth):
            if not root:
                return
            if depth > len(res):
                res.append(root.val)
            dfs(root.right, depth+1)
            dfs(root.left, depth+1)
        dfs(root, 1)
        return res
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章