1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package main
func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode { pVal, qVal := p.Val, q.Val if pVal > qVal { pVal, qVal = qVal, pVal }
current := root for current != nil { if current.Val > qVal { current = current.Left } else if current.Val < pVal { current = current.Right } else { return current } } return nil }
|