LeetCode 二叉樹剪枝(遞迴)

2021-09-23 01:38:54 字數 1406 閱讀 3233

給定二叉樹根結點 root ,此外樹的每個結點的值要麼是 0,要麼是 1。

返回移除了所有不包含 1 的子樹的原二叉樹。

( 節點 x 的子樹為 x 本身,以及所有 x 的後代。)

示例1:

輸入: [1,null,0,0,1]

輸出: [1,null,0,null,1]

解釋:

只有紅色節點滿足條件「所有不包含 1 的子樹」。

右圖為返回的答案。

示例2:

輸入: [1,0,1,0,0,0,1]

輸出: [1,null,1,null,1]

示例3:

輸入: [1,1,0,1,1,0,1,0]

輸出: [1,1,0,1,1,null,1]

說明:

給定的二叉樹最多有 100 個節點。

每個節點的值只會為 0 或 1 。

思路分

析:\color思路分析:

思路分析

:當我們需要修剪root時,我們需要先修剪root->left、root->right,然後再修剪root。這顯然是乙個遞迴定義,所以採用遞迴法處理。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

root-

>left =

prunetree

(root-

>left)

;//修剪左子樹

root-

>right =

prunetree

(root-

>right)

;//修剪右子樹

LeetCode 二叉樹剪枝 814

給定二叉樹根結點root,此外樹的每個結點的值要麼是 0,要麼是 1。返回移除了所有不包含 1 的子樹的原二叉樹。節點 x 的子樹為 x 本身,以及所有 x 的後代。示例1 輸入 1,null,0,0,1 輸出 1,null,0,null,1 解釋 只有紅色節點滿足條件 所有不包含 1 的子樹 右圖...

(二叉樹)15 二叉樹剪枝

給定二叉樹根結點 root 此外樹的每個結點的值要麼是 0,要麼是 1。返回移除了所有不包含 1 的子樹的原二叉樹。節點 x 的子樹為 x 本身,以及所有 x 的後代。示例1 輸入 1,null,0,0,1 輸出 1,null,0,null,1 解釋 只有紅色節點滿足條件 所有不包含 1 的子樹 右...

Leetcode 814 二叉樹剪枝

time 20190906 type medium 給定二叉樹根結點 root 此外樹的每個結點的值要麼是 0,要麼是 1。返回移除了所有不包含 1 的子樹的原二叉樹。節點 x 的子樹為 x 本身,以及所有 x 的後代。示例1 輸入 1,null,0,0,1 輸出 1,null,0,null,1 解...