Grokking Tree Coding Patterns for Interviews
Ask Author
Back to course home

0% completed

Vote For New Content
Boundary of Binary Tree (medium)
On this page

Problem Statement

Examples

Try it yourself

Problem Statement

The boundary of the tree is the concatenation of the root, the left boundary, the leaf nodes in left to right order, and the right boundary in the reverse order.

  • The left boundary includes all the nodes on the leftmost path from the root, excluding the leftmost leaf.
  • The leaf nodes include all nodes that do not have any children, traversed from left to right.
  • The right boundary includes all nodes on the rightmost path, excluding the rightmost leaf, but they are recorded in reverse order. Return the values of these boundary nodes in order.

Given the root of a binary tree, return an array containing the values of its boundary.

Examples

Example 1:

  • Input: root = [1, null, 5, 2, 4]
Image
  • Expected Output: [1, 2, 4, 5]
  • Justification: The left boundary is empty, 1 is root node, the leaves are 2 and 4, and the right boundary in reverse is 5.

Example 2:

  • Input: root = [1, 2, 3, 4, 5, 6, 7, null, null, 9]
Image
  • Expected Output: [1,2,4,9,6,7,3]
  • Justification: The left boundary is 1 → 2, the leaves are 4, 9, 6, and 7, and the right boundary in reverse is 3.

Example 3:

  • Input: root = [1, 2, null, 3, 4]
Image
  • Expected Output: [1, 2, 3, 4]
  • Justification: The left boundary is 1 → 2, the leaves are 3 and 4, and the right boundary is empty.

Constraints:

  • The number of nodes in the tree is in the range [1, 10<sup>4</sup>].
  • -1000 <= Node.val <= 1000

Try it yourself

Try solving this question here:

Python3
Python3

. . . .

.....

.....

.....

Like the course? Get enrolled and start learning!

On this page

Problem Statement

Examples

Try it yourself