Skip to content

Commit 703c7bc

Browse files
authored
Merge pull request #176 from dsrao711/issue171
Python solution for Vertical order traversal
2 parents ca8c947 + 23b90bb commit 703c7bc

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#Link to the problem : https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/
2+
3+
# Definition for a binary tree node.
4+
# class TreeNode:
5+
# def __init__(self, val=0, left=None, right=None):
6+
# self.val = val
7+
# self.left = left
8+
# self.right = right
9+
class Solution:
10+
def verticalTraversal(self, root):
11+
12+
def _traverse(node, row, col, cache):
13+
14+
if not node:
15+
return
16+
_traverse(node.left, row + 1, col - 1, cache)
17+
cache[col].append((row, node.val))
18+
_traverse(node.right, row + 1, col + 1, cache)
19+
20+
cache = defaultdict(list)
21+
_traverse(root, 0, 0, cache)
22+
ans = []
23+
for key in sorted(cache):
24+
ans.append(x[1] for x in sorted(cache[key]))
25+
return ans

0 commit comments

Comments
 (0)