leetcode題目 翻轉二叉樹

2021-09-28 21:35:25 字數 1172 閱讀 5998

翻轉一棵二叉樹。

示例:輸入:

4/ \

27/ \ / \13

69輸出: 4

/ \

72/ \ / \96

31

備註:

這個問題是受到 max howell 的 原問題 啟發的 :

谷歌:我們90%的工程師使用您編寫的軟體(homebrew),但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。

**:樹的結構:

/**

* description:

* * @author lht

* @date 2019/10/22 10:11 pm

**/public

class

treenode

}

四種遍歷方法實現:

/**

* 先序方式

* @param root

* @return

*/public

static treenode inverttreebefore

(treenode root)

else

}/**

* 中序方式

* @param root

* @return

*/public

static treenode inverttreemid

(treenode root)

else

}/**

* 後序方式

* @param root

* @return

*/public

static treenode inverttreela

(treenode root)

else

}/**

* 層序方式:leetcode測試效率最差

* @param root

* @return

*/public

static treenode inverttreebfs

(treenode root)

else

if(poll.right!=null)

}return root;

}}

平台執行都通過;

LeetCode 翻轉二叉樹

翻轉一棵二叉樹。示例 輸入 4 2 7 1 3 6 9 輸出 4 7 2 9 6 3 1 備註 這個問題是受到 max howell 的 原問題 啟發的 谷歌 我們90 的工程師使用您編寫的軟體 homebrew 但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。思路分析 如果需要翻轉一...

LeetCode 翻轉二叉樹

翻轉一棵二叉樹。示例 輸入 4 2 7 1 3 6 9 輸出 4 7 2 9 6 3 1 由題目描述可知,需要對輸入的二叉樹的每個節點執行左右子樹對調操作。因此,由二叉樹的先序遍歷遞迴演算法修改一下,即可實現遞迴的對二叉樹每個節點執行對調操作。definition for a binary tree...

LeetCode 翻轉二叉樹

題目描述 翻轉一棵二叉樹。示例 輸入 解題思路 我們用遞迴的方法來做這道題。我們對乙個根節點的左右子樹進行翻轉操作,即是交換左右子樹 對左子樹和右子樹遞迴呼叫翻轉操作即可。最後,遞迴結束的條件是遇到葉子結點,或者空節點。python definition for a binary tree node...