劍指offer刷題——反轉二叉樹(C++)

牛客網二叉樹鏡像
遞歸實現
當然這樣時間複雜度會高一些,也可以用swap()直接交換,不過只要理解了交換的步驟,怎麼優化也就不是問題了。

PS:swap雖然支持整形的形參,但是要想交換一定得用指針

class Solution {
public:
    void Mirror(TreeNode *pRoot) 
    {
        if(pRoot)
        {
            TreeNode* p=pRoot->left;
            TreeNode* q=pRoot->right;
            pRoot->left=q;
            pRoot->right=p;
            Mirror(pRoot->left);
            Mirror(pRoot->right);
        }
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章