HTMLify

LeetCode - Find Elements in a Contaminated Binary Tree - Python
Views: 15 | Author: abh
# @leet start
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class FindElements:

    def __init__(self, root: Optional[TreeNode]):
        self.tree = root
        self.recover(self.tree, True)

    def recover(self, node=None, root=False):
        if not node:
            return

        if root:
            node.val = 0

        if node.left:
            node.left.val = 2 * node.val + 1
        if node.right:
            node.right.val = 2 * node.val + 2

        self.recover(node.left)
        self.recover(node.right)


    def find(self, target: int, node=str) -> bool:
        if node == str:
            node = self.tree
        if not node:
            return False
        if node.val == target:
            return True
        if self.find(target, node.left):
            return True
        if self.find(target, node.right):
            return True
        return False


# Your FindElements object will be instantiated and called as such:
# obj = FindElements(root)
# param_1 = obj.find(target)
# @leet end

Comments