[编程题] 向二叉搜索树中插入数据

class TreeNode {
    value: number
    left: TreeNode | null
    right: TreeNode | null

    constructor(
        value: number = 0,
        left: TreeNode | null = null,
        right: TreeNode | null = null
    ) {
        this.value = value
        this.left = left
        this.right = right
    }

    setLeft(node: TreeNode) {
        this.left = node
    }

    setRight(node: TreeNode) {
        this.right = node
    }
}

function insertNode(head: TreeNode | null, value: number): TreeNode | null {
    if (head === null) {
        head = new TreeNode(value)
        return head
    }
    if (head.value < value) {
        head.right = insertNode(head.right, value)
    } else {
        head.left = insertNode(head.left, value)
    }
    return head
}
posted @ 2022-09-14 07:45  toddforsure  阅读(5)  评论(0)    收藏  举报