- 1
- 2
- 3
- 4
- 5
用深度优先搜索求解二叉树最近公共祖先的Python实现
资料介绍
用深度优先搜索求解二叉树最近公共祖先的Python实现 问题定义 给定一棵二叉树和其中的两个节点 p、q,求它们最近的公共祖先(同时是 p 和 q 的祖先,且深度尽可能大的节点)。 例如树根为 3,左子 5(其子 6、2),右子 1。若 p = 5、q = 1,则最近公共祖先为根节点 3。 算法思路 求最近公共祖先用深度优先搜索递归实现,核心是"自底向上"地判断每个节点是否包含 p 或 q。 递归函数 lca(node, p, q): 若 node 为空,返回 None。 若 node 等于 p 或 q,返回 node。 递归在左、右子树中查找。 若左右子树都返回非空,说明 p、q 分别位于 node 两侧,node 就是最近公共祖先。 若只在一侧非空,返回该侧结果。 Python 代码实现 pythonclass TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = rightdef lowest_common_ancestor(root, p, q): if root is None or root == p or root == q: return root left = lowest_common_ancestor(root.left, p, q) right = lowest_common_ancestor(root.right, p, q) if left and right: # 两侧各有一个,root 是祖先 return root return left if left else right# 构造树:3 -> 左5 右1,5->左6 右2n6, n2 = TreeNode(6), TreeNode(2)
部分文件列表
| 文件名 | 大小 |
| 用深度优先搜索求解二叉树最近公共祖先的Python实现.docx | 38K |
最新上传
-
21ic小能手 打赏3.00元 14小时前
资料:小米MIX3电路图
-
21ic小能手 打赏10.00元 14小时前
-
21ic小能手 打赏5.00元 14小时前
-
江岚 打赏100.00元 2天前
用户:潇潇江南
-
他山之石可攻玉 打赏50.00元 2天前
用户:烟雨
-
21ic下载 打赏1.00元 2天前
用户:王小琪
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前




全部评论(0)