-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy patha_lamps.py
43 lines (35 loc) · 1.04 KB
/
a_lamps.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Comment it before submitting
class Node:
def __init__(self, value, left=None, right=None):
self.value = value
self.right = right
self.left = left
def solution(root):
value = root.value
def _sub(links, value):
if links.left is not None:
value = (links.value if value < links.value else value)
value = _sub(links.left, value)
if links.right is not None:
value = (links.value if value < links.value else value)
value = _sub(links.right, value)
if value < links.value:
return links.value
else:
return value
value = _sub(root, value)
return value
def test():
node9 = Node(0)
node8 = Node(0, None, node9)
node7 = Node(111)
node6 = Node(0)
node5 = Node(0)
node4 = Node(3, node7, node8)
node3 = Node(3, node5, node6)
node2 = Node(2, None, node4)
node1 = Node(2, node3, None)
node0 = Node(0, node1, node2)
assert solution(node0) == 111
if __name__ == '__main__':
test()