1. 程式人生 > 其它 >226. 翻轉二叉樹

226. 翻轉二叉樹

技術標籤:演算法刷題二叉樹演算法資料結構LeetCode

第一次嘗試

  翻轉一棵二叉樹,使翻轉前的二叉樹和翻轉後的二叉樹呈鏡相對稱,如下圖展示。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; }