File tree Expand file tree Collapse file tree 1 file changed +12
-17
lines changed
leetcode_python_solutions Expand file tree Collapse file tree 1 file changed +12
-17
lines changed Original file line number Diff line number Diff line change 55# self.left = left
66# self.right = right
77class Solution :
8- def minCameraCover (self , root : TreeNode ) -> int :
9- self .ans = 0
10- covered = {None }
11- self .dfs (root , covered , None )
12- return self .ans
13-
14- def dfs (self , root , covered , par ):
15- if not root :
16- return
17- self .dfs (root .left , covered , root )
18- self .dfs (root .right , covered , root )
19- if (root .left not in covered or root .right not in covered ) or (not par and root not in covered ):
20- self .ans += 1
21- covered .add (root .left )
22- covered .add (root .right )
23- covered .add (root )
24- covered .add (par )
8+ def bstFromPreorder (self , preorder : List [int ]) -> TreeNode :
9+ preorder .reverse ()
10+ return self .construct_bst (preorder , float ('-inf' ), float ('inf' ))
11+
12+ def construct_bst (self , preorder , lower , upper ):
13+ if not preorder :
14+ return None
15+ if lower < preorder [- 1 ] < upper :
16+ root = TreeNode (preorder .pop ())
17+ root .left = self .construct_bst (preorder , lower , root .val )
18+ root .right = self .construct_bst (preorder , root .val , upper )
19+ return root
You can’t perform that action at this time.
0 commit comments