[
tree
dfs
bfs
recursion
]
BinarySearch 0175 Left Side View of a Tree
Problem statement
https://binarysearch.com/problems/Left-Side-View-of-a-Tree/
Solution
Equal to Leetcode 0199. Binary Tree Right Side View, just change left to right.
Complexity
Time complexity is O(n)
for classical dfs, space is O(h)
, again classical complexity for dfs as well as this amount of space we need to keep in our answer.
Code
class Solution:
def solve(self, root):
ans = {}
def dfs(node, H):
if not node: return
dfs(node.left, H + 1)
if H not in ans: ans[H] = node.val
dfs(node.right, H + 1)
dfs(root, 0)
return [ans[i] for i in range(len(ans))]