• 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
    
  • 相关阅读:
    解题:AHOI 2005 航线规划
    解题:SCOI 2008 天平
    解题:SCOI 2014 方伯伯运椰子
    解题:APIO 2008 免费道路
    解题:USACO15JAN Grass Cownoisseur
    669. 换硬币(dp动态规划)
    8. 旋转字符串
    147. 水仙花数
    1131. 排列中的函数
    78. 最长公共前缀
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14070368.html
Copyright © 2020-2023  润新知