实现一个树的遍历算法,可以使用递归或迭代的方式。如果找到了需要的节点,返回该节点;否则继续遍历。以下是使用递归的示例代码:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def find_node(root: TreeNode, target: int) -> TreeNode:
if root is None:
return None
if root.val == target:
return root
left = find_node(root.left, target)
if left:
return left
right = find_node(root.right, target)
if right:
return right
return None
以上代码接收一个树的根节点和目标值作为输入,返回一个树节点。如果找到节点,返回该节点;否则返回 None。
上一篇:遍历树并计算特殊节点的总和
下一篇:遍历输出的列