814. 二叉树剪枝
给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。
返回移除了所有不包含 1 的子树的原二叉树。
( 节点 X 的子树为 X 本身,以及所有 X 的后代。)
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
function pruneTree(root: TreeNode | null): TreeNode | null { function dfs(node: TreeNode | null): boolean { if (node === null) return false const l = dfs(node.left) const r = dfs(node.right) if (!l) node.left = null if (!r) node.right = null return node.val === 1 || l || r } const res = dfs(root) return res ? root : null };
|