翻轉一棵二叉樹。
示例:
輸入:
4/ \
2 7
/ \ / \
1 3 6 9
輸出: 4
/ \
7 2
/ \ / \
9 6 3 1
備註:
這個問題是受到 max howell 的 原問題 啟發的 :
谷歌:我們90%的工程師使用您編寫的軟體(homebrew),但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。
思路分析:如果需要翻轉一棵二叉樹,那麼需要翻轉它的左子樹,翻轉它的右子樹,然後交換左右子樹。這明顯的不要不要的遞迴定義。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
treenode* lefttree = inverttree(root->left);//翻轉左子樹
treenode* righttree = inverttree(root->right);//翻轉右子樹
root->left = righttree;//左右子樹交換
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...
leetcode題目 翻轉二叉樹
翻轉一棵二叉樹。示例 輸入 4 27 13 69輸出 4 72 96 31備註 這個問題是受到 max howell 的 原問題 啟發的 谷歌 我們90 的工程師使用您編寫的軟體 homebrew 但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。樹的結構 description aut...