翻转二叉树
【摘要】 CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 作者:
🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 关注专栏:
优质好文持续更新中……🚀🚀🚀🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬
一、题目描述
给定一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
提示:
树中节点数目范围在 [0, 100] 内
-100 <= Node.val <= 100
二、测试样例
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
在「图1」中,二叉树经过翻转,左右子树,以及左右子树的子树都翻转了。
三、算法思路
本题是将二叉树整棵树翻转过来,那么,根据二叉树的性质,我们可以使用深度优先搜索算法,不断递归的翻转二叉树,这样就可以将整棵二叉树翻转。
四、代码实现
五、复杂度分析
5.1 时间复杂度
时间复杂度:O(n),其中,n 为二叉树结点的个数,在上述算法中,每个结点访问一次,所以时间复杂度为 O(n)。
5.2 空间复杂度
空间复杂度:O(n),在上述算法中,使用的是深度优先算法递归访问二叉树,递归是需要消耗空间的,所以空间复杂度为 O(n)。
六、总结
本题主要是理解二叉树的构造,也要掌握深度优先算法。
🎈 作者:
🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 关注专栏:
优质好文持续更新中……🚀🚀🚀🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)