Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
题目链接: Lowest Common Ancestor of a Binary Search Tree
难度:Easy
题目大意:
求二叉搜索树中两个节点的最近公共父亲节点。这题是Leetcode 236. Lowest Common Ancestor of a Binary Tree的简化版。
思路:
递归。可以根据二叉搜索树的特点来简化查找过程。
代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
while(true){
if(p.val<root.val&&q.val<root.val){
root=root.left;
}
else if(p.val>root.val&&q.val>root.val){
root=root.right;
}
else{
return root;
}
}
}
}