二叉查找树特点(个人整理汇总)

原创
小哥 3年前 (2022-11-14) 阅读数 7 #大杂烩

二进制搜索树的中阶遍历是一个顺序增长的数组。

给出两个数字来计算他的祖先节点,例如。: p, q 这两个节点是~~~
那么:(root.val - p.val )* (root.val - q.val )<= 0 代表 这两个节点又是root节点两边

就例如LeetCode#235 二进制搜索号的最近公共祖先

/**
 * 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) {
        if((root.val - q.val) * (root.val - p.val) <= 0){
            return root;
        }
        return lowestCommonAncestor(p.val < root.val ? root.left : root.right, p, q);
    }
}
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除