博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
235. Lowest Common Ancestor of a Binary Search Tree
阅读量:5101 次
发布时间:2019-06-13

本文共 868 字,大约阅读时间需要 2 分钟。

 

For example, the lowest common ancestor (LCA) of nodes 2 and 8 is 6. Another example is LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself according to the LCA definition.

找最小共同祖先,如3和5的最小共同祖先是4, 0和7的最小共同祖先是6

//看p和q是否同时大于或者同时小于root

Solution 1

class Solution {

    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {

        while ((root.val - p.val) * (root.val - q.val) > 0) {

            root = root.val > p.val ? root.left : root.right;

        }

        return root;

    }

}

Solution 2://递归

public class Solution {

    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {

        if (root.val > p.val && root.val > q.val) {

            return lowestCommonAncestor(root.left, p, q);

        } else if (root.val < p.val && root.val < q.val) {

            return lowestCommonAncestor(root.right, p, q);

        } else {

            return root;

        }

    }

}

 

转载于:https://www.cnblogs.com/MarkLeeBYR/p/10537483.html

你可能感兴趣的文章
python3 生成器与迭代器
查看>>
git .gitignore 文件不起作用
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
cer证书签名验证
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
QML学习笔记之一
查看>>
App右上角数字
查看>>
小算法
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
IOS-图片操作集合
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
jquery实现限制textarea输入字数
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>