题解 | #二叉搜索树的最近公共祖先#

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

https://www.nowcoder.com/practice/d9820119321945f588ed6a26f0a6991f

总结:
根据节点与两目标值的关系,判断两目标值位于同一子树,还是位于不同子树。

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {

    public int lowestCommonAncestor (TreeNode root, int p, int q) {
        // write code here
        TreeNode node = root;
        while(true){
            if(node.val<p&&node.val<q)
                node = node.right;
            else if(node.val>p&&node.val>q)
                node = node.left;
            else
                return node.val;
        }
    }
}
全部评论

相关推荐

04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务