12
12
# 7
13
13
# should return 4.
14
14
15
+ from tree .tree import TreeNode
15
16
16
- class Node :
17
- def __init__ (self , val = None ):
18
- self .left = None
19
- self .right = None
20
- self .val = val
21
17
22
18
class DeepestLeft :
23
19
def __init__ (self ):
24
20
self .depth = 0
25
21
self .Node = None
26
22
23
+
27
24
def find_deepest_left (root , is_left , depth , res ):
28
25
if not root :
29
26
return
@@ -33,15 +30,17 @@ def find_deepest_left(root, is_left, depth, res):
33
30
find_deepest_left (root .left , True , depth + 1 , res )
34
31
find_deepest_left (root .right , False , depth + 1 , res )
35
32
36
- root = Node (1 )
37
- root .left = Node (2 )
38
- root .right = Node (3 )
39
- root .left .left = Node (4 )
40
- root .left .right = Node (5 )
41
- root .right .right = Node (6 )
42
- root .right .right .right = Node (7 )
43
-
44
- res = DeepestLeft ()
45
- find_deepest_left (root , True , 1 , res )
46
- if res .Node :
47
- print (res .Node .val )
33
+
34
+ if __name__ == '__main__' :
35
+ root = TreeNode (1 )
36
+ root .left = TreeNode (2 )
37
+ root .right = TreeNode (3 )
38
+ root .left .left = TreeNode (4 )
39
+ root .left .right = TreeNode (5 )
40
+ root .right .right = TreeNode (6 )
41
+ root .right .right .right = TreeNode (7 )
42
+
43
+ res = DeepestLeft ()
44
+ find_deepest_left (root , True , 1 , res )
45
+ if res .Node :
46
+ print (res .Node .val )
0 commit comments