剑指offer:二叉树的镜像
生活随笔
收集整理的這篇文章主要介紹了
剑指offer:二叉树的镜像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 分析
- 題目來源
分析
思路:
可以發現,對于任意一個結點來說,左孩子和右孩子(只要有的話)都是互換的。
時間復雜度:O(n),每個結點遍歷一遍
ac代碼
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:TreeNode* mirrorTree(TreeNode* root) {if (root == nullptr) return nullptr;// 交換左右孩子(這里空指針也參與交換,因為swap交換的是指針)swap(root->left, root->right);// 遞歸遍歷即可mirrorTree(root->left);mirrorTree(root->right);return root;} };題目來源
https://www.acwing.com/problem/content/37/
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的剑指offer:二叉树的镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jupyter notebook 报错:
- 下一篇: 剑指offer:从上往下打印二叉树