【题目】
【代码】

# 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.root=root
self.num=[]
def dfs(root,parent=-1):
if not root:
return
if parent==-1:
root.val=0
self.num.append(root.val)
if root and root.left:
root.left.val=root.val*2+1
if root and root.right:
root.right.val=root.val*2+2
dfs(root.left,root.val)
dfs(root.right,root.val)
dfs(root)
def find(self, target: int) -> bool:
return target in self.num
该博客介绍了一个二叉树节点查找元素的算法。通过定义一个`FindElements`类,初始化时接收根节点,并使用深度优先搜索(DFS)为每个节点分配唯一的值。之后,`find`方法可以有效地判断目标值是否存在于树中。这个算法对于二叉树的数据结构操作具有重要意义。

被折叠的 条评论
为什么被折叠?



