Skip to content

Commit ab73928

Browse files
authored
Create find-nearest-right-node-in-binary-tree.py
1 parent fa58943 commit ab73928

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Time: O(n)
2+
# Space: O(w)
3+
4+
# Definition for a binary tree node.
5+
class TreeNode(object):
6+
def __init__(self, val=0, left=None, right=None):
7+
pass
8+
9+
10+
class Solution(object):
11+
def findNeartestRightNode(self, root, u):
12+
"""
13+
:type root: TreeNode
14+
:type u: TreeNode
15+
:rtype: TreeNode
16+
"""
17+
q = [root]
18+
while q:
19+
new_q = []
20+
for i, node in enumerate(q):
21+
if node == u:
22+
return q[i+1] if i+1 < len(q) else None
23+
if node.left:
24+
new_q.append(node.left)
25+
if node.right:
26+
new_q.append(node.right)
27+
q = new_q
28+
return None

0 commit comments

Comments
 (0)