Binary Tree Right Side View

Problem Summary

What is Being Asked?

Approach Taken

Why This Works

Main Concepts Used

(Mark the CS concepts or algorithms used.)

Time & Space Complexity

Code

class Solution:
    def rightSideView(self, root: Optional[TreeNode]) -> List[int]:
        if not root:
            return []

        queue = deque([root])
        result = [root.val]

        while queue:
            for _ in range(len(queue)):
                node = queue.popleft()
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
            if queue:
                result.append(queue[-1].val)
        return result

Common Mistakes / Things I Got Stuck On