Back to course home
0% completed
Vote For New Content
Boundary of Binary Tree (medium)
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]
- 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]
- 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]
- 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