226. 翻轉二叉樹
阿新 • • 發佈:2021-02-06
第一次嘗試
翻轉一棵二叉樹,使翻轉前的二叉樹和翻轉後的二叉樹呈鏡相對稱,如下圖展示。LeetCode連結
- 方法:遞迴法,從上至下,將每個節點的左右子樹交換,即可完成,相當於完成了一次前序遍歷,只不過不是執行列印操作,而是交換左右子樹操作。
struct TreeNode* invertTree(struct TreeNode* root){
//引數合法性檢驗,也是遞迴的結束條件
if(root == NULL){
return NULL;
}
//交換的過程
struct TreeNode* temp = root->left;
root->left = root->right;
root->right = temp;
//當前節點交換完成,繼續去交換它的左右孩子的左右子樹
invertTree(root->left);
invertTree(root->right);
return root;
}