[编程题] 输出所有叶子节点

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 printLeaves(root: TreeNode): void {
    if (root === null) return

    if (root.left === null && root.right === null) {
        console.log(root.value)
        return
    }

    if (root.left) {
        printLeaves(root.left)
    }

    if (root.right) {
        printLeaves(root.right)
    }
}
posted @ 2022-09-14 09:28  toddforsure  阅读(17)  评论(0)    收藏  举报