199二叉树的右视图

Posted xxswkl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了199二叉树的右视图相关的知识,希望对你有一定的参考价值。

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

来源: https://leetcode-cn.com/problems/binary-tree-right-side-view/

法一: 自己的代码

构建一个队列,每次都从右边取值,用双层循环实现层序遍历.

技术图片
# 执行用时 :32 ms, 在所有 python3 提交中击败了98.01% 的用户
# 内存消耗 :12.8 MB, 在所有 python3 提交中击败了100.00%的用户
# Definition for a binary tree node.
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
from typing import List
class Solution:
    def rightSideView(self, root: TreeNode) -> List[int]:
        result = []
        if root is None:
            return []
        queue = []
        queue_next = []
        queue_next.append(root)
        while queue_next:
            queue = queue_next
            queue_next = []
            result.append(queue[0].val)
            while queue:
                a = queue.pop(0)
                if a.right:
                    queue_next.append(a.right)
                if a.left:
                    queue_next.append(a.left)
        return result
View Code

 

以上是关于199二叉树的右视图的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 199 二叉树的右视图

广度优先搜索199.二叉树的右视图

199. 二叉树的右视图

199. 二叉树的右视图

199. 二叉树的右视图

199. 二叉树的右视图