代码随想录训练营Day22 | 235.二叉搜索树的最近公共祖先

2023-11-01  本文已影响0人  是小张啊啊
235. 二叉搜索树的最近公共祖先
思路
var lowestCommonAncestor = function(root, p, q) {
    let left = null
    let right = null
    const travelTree = (root, p, q) => {
        if (!root) {
            return
        }
        // 搜索一边
        if (root.val > p.val && root.val > q.val) {
            left = travelTree(root.left, p, q)
            if (left !== null) {
                return left
            }
        }
        if (root.val < p.val && root.val < q.val) {
            right = travelTree(root.right, p, q)
            if (right !== null) {
                return right
            }
        }
        return root
    }
    return travelTree(root, p, q)
};
701. 二叉搜索树中的插入操作
思路
var insertIntoBST = function(root, val) {
    const insert = (root, val) => {
        if (!root) {
            let node = new TreeNode(val)
            return node
        }
        if (root.val > val) {
            root.left = insert(root.left, val)
        }
        if (root.val < val) {
            root.right = insert(root.right, val)
        }
        return root
    }
    return insert(root, val)
};
上一篇 下一篇

猜你喜欢

热点阅读