剑指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:从上往下打印二叉树