199. 二叉树的右视图

199. 二叉树的右视图

  • if len(res)<=depth 时, 说明遍历到了该层第一个元素,这时加个0用来占位置(第depth层的元素)
  • 先深度遍历左子树,再深度遍历右子树,这样,这一层的值会被每一层的最后一个节点最终覆盖掉。用这种方式来实现右视图
# 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 rightSideView(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        res=[]
        def dfs(root,depth):
            if not root:
                return res
            if len(res)<=depth:
                res.append(0)
            res[depth]=root.val
            dfs(root.left,depth+1)
            dfs(root.right,depth+1)
        dfs(root,0)
        return res

   转载规则


《199. 二叉树的右视图》 M 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
ROS Note ROS Note
Install教程ROS tutorial- Justin Huang Programming for Robotics (ROS) Course 1Autolabor- ROS机器人入门 视频以及对应文档 source ~/工作空间/de
2020-09-03
下一篇 
python基础知识汇总 python基础知识汇总
概念封装、继承和多态进程与线程的一个简单解释进程之间有哪些通信方式?小林coding进程间通信 管道 消息队列 共享内存 信号量 Socket Python并发编程之谈谈线程中的“锁机制”COOKIE和SESSION有什么区别? Ses
2020-08-30
  目录