235. 二叉搜索树的最近公共祖先

二叉搜索树的最近公共祖先

解法一: 一次遍历

go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/

func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {
if p.Val > q.Val {
return lowestCommonAncestor(root, q, p)
}
if root.Val < p.Val {
return lowestCommonAncestor(root.Right, q, p)
} else if root.Val > q.Val {
return lowestCommonAncestor(root.Left, q, p)
}
return root
}
作者

wuhunyu

发布于

2024-02-25

更新于

2025-01-15

许可协议