LC 速查

HOT 100索引 › B8 二叉树 Binary Tree

LC 199二叉树的右视图Binary Tree Right Side View 中等

求从右侧观察二叉树时每层可见的最右节点值。

思路 层序遍历,每层开始时队尾即该层最右节点,记入答案。时间 O(n)。

class Solution:
    def rightSideView(self, root: Optional[TreeNode]):
        if not root:
            return []
        res, queue = [], deque([root])
        while queue:
            res.append(queue[-1].val)
            for _ in range(len(queue)):
                node = queue.popleft()
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
        return res
← 上一题 二叉搜索树中第 K 小的元素二叉树展开为链表 下一题 →