Update 68. 树中两个节点的最低公共祖先.md

重新绘制配图,补充最低公共祖先的判断条件。
This commit is contained in:
CyC2018
2026-10-28 22:51:24 +08:00
parent 81bb11213f
commit 1a69e4455e
3 changed files with 3 additions and 3 deletions
@@ -9,9 +9,9 @@
### 解题思路
在二叉查找树中,两个节点 p, q 的公共祖先 root 满足 root.val \>= p.val && root.val \<= q.val。
在二叉查找树中,设 p.val \<= q.val,从根节点往下查找,第一个满足 root.val \>= p.val && root.val \<= q.val 的节点 root 就是 p、q 的最低公共祖先。
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/047faac4-a368-4565-8331-2b66253080d3.jpg" width="250"/> </div><br>
<div align="center"> <img src="pics/offer-bst-lca.png" width="460px"/> </div><br>
```java
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
@@ -35,7 +35,7 @@ public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
在左右子树中查找是否存在 p 或者 q,如果 p 和 q 分别在两个子树中,那么就说明根节点就是最低公共祖先。
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/d27c99f0-7881-4f2d-9675-c75cbdee3acd.jpg" width="250"/> </div><br>
<div align="center"> <img src="pics/offer-tree-lca.png" width="460px"/> </div><br>
```java
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB