Files
Hot-100-Algorithm/二叉树/二叉树的最近公共祖先/main.go

30 lines
425 B
Go
Raw Normal View History

2025-08-26 06:18:10 +08:00
package main
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func main() {
}
func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {
if root == nil || root == p || root == q {
return root
}
left := lowestCommonAncestor(root.Left, p, q)
right := lowestCommonAncestor(root.Right, p, q)
if left != nil && right != nil {
return root
}
if left != nil {
return left
}
return right
}