zoukankan      html  css  js  c++  java
  • LeetCode 199. 二叉树的右视图

    199. 二叉树的右视图

    Difficulty: 中等

    给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

    示例:

    输入: [1,2,3,null,5,null,4]
    输出: [1, 3, 4]
    解释:
    
       1            <---
     /   
    2     3         <---
          
      5     4       <---
    

    Solution

    Language: 全部题目

    BFS+队列实现层序遍历,一次AC。

    # 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]:
            if not root: return []
            queue, res = [root], []
    ​
            while queue:
                size = len(queue)
                for i in range(size):
                    node = queue.pop(0)
                    if i == size - 1:
                        res.append(node.val)
                    if node.left:
                        queue.append(node.left)
                    if node.right:
                        queue.append(node.right)
            return res
    
  • 相关阅读:
    java 运算
    java String
    java的数据类型
    Python: str() 和 repr() 的区别
    Linux命令:which
    Linux命令:locate
    Linux命令:ifconfig
    Linux命令:whereis
    Linux命令:rz 和 sz
    Linux命令:scp
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14070368.html
Copyright © 2011-2022 走看看