在树结构中找到所有唯一路径的方法可以通过深度优先搜索(DFS)或广度优先搜索(BFS)来实现。下面是使用DFS的方法:
以下是一个示例代码:
def find_unique_paths(root):
paths = [] # 存储所有唯一路径的列表
def dfs(node, path, paths):
if not node:
return
path.append(node.val) # 将当前节点添加到路径中
if not node.left and not node.right: # 叶子节点
paths.append(path[:]) # 添加当前路径到结果列表
else:
if node.left:
dfs(node.left, path, paths) # 递归左子节点
if node.right:
dfs(node.right, path, paths) # 递归右子节点
path.pop() # 移除当前节点,继续搜索其他路径
dfs(root, [], paths) # 调用辅助函数开始搜索
return paths
这个方法通过深度优先搜索遍历树的所有路径,并将唯一路径存储在结果列表中。最后返回结果列表。
这个方法的时间复杂度是O(N),其中N是树中节点的数量。
领取专属 10元无门槛券
手把手带您无忧上云