Skip to content
On this page

199. Binary Tree Right Side View share

Problem Statement:

Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

Example 1:

Input: root = [1,2,3,null,5,null,4]
Output: [1,3,4]

Example 2:

Input: root = [1,null,3]
Output: [1,3]

Example 3:

Input: root = []
Output: []

Constraints:

  • The number of nodes in the tree is in the range [0, 100].
  • -100 <= Node.val <= 100

Solution:

java
public class BinaryTreeRightSideView {
    int maxLevel = 0;
    List<Integer> arr = new ArrayList<Integer>();

    public List<Integer> rightSideView(TreeNode root) {
        rightSideView(root, 1);
        return arr;
    }

    private void rightSideView(TreeNode root, int level) {
        if (root == null)
            return;
        if (maxLevel < level) {
            arr.add(root.val);
            maxLevel = level;
        }
        rightSideView(root.right, level + 1);
        rightSideView(root.left, level + 1);
    }
}

...


Released under the MIT License.