Binary Tree Right Side View LeetCode solution in Python

1
# Runtime: 54 ms (Top 45.43%) | Memory: 13.9 MB (Top 70.59%)
2
# Definition for a binary tree node.
3
# class TreeNode:
4
# def __init__(self, val=0, left=None, right=None):
5
# self.val = val
6
# self.left = left
7
# self.right = right
8
class Solution:
9
def rightSideView(self, root: Optional[TreeNode]) -> List[int]:
10

11
def dfs(root, d):
12

13
if not root:
14
return
15

16
if self.maxi < d:
17
self.res.append(root.val)
18
self.maxi = d
19

20
dfs(root.right, d + 1)
21
dfs(root.left, d + 1)
22

23
self.res, self.maxi = [], 0
24
dfs(root, 1)
25
return self.res
26

27
# An Upvote will be encouraging

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0