Medium
Last updated 2 years ago
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.
root
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].
[0, 100]
-100 <= Node.val <= 100
type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func rightSideView(root *TreeNode) []int { res := []int{} helper(&res, root, 1) return res } func helper(res *[]int, root *TreeNode, level int) { if root == nil { return } if len(*res) < level { *res = append(*res, root.Val) } helper(res, root.Right, level+1) helper(res, root.Left, level+1) }