翻转二叉树(C++)
来源:互联网 发布:网站域名怎么续费go 编辑:程序博客网 时间:2024/04/29 16:04
问题描述
—————————————————————————————————————————————————————————————————————————————
为了更加直观地描述翻转二叉树的问题,我们直接使用下图对问题进行描述:
从图中我们可以看出,二叉树翻转后的结果就如同原来二叉树在镜子里的“像”一样,这就是这个问题所要达到的效果。
算法原理
—————————————————————————————————————————————————————————————————————————————
在数据结构中,对于树这种结构,我们经常采用的策略是使用递归的方式,在这里,我们也使用递归来解决这个问题。
递归算法步骤:
1、对二叉树的左子树进行翻转
2、对二叉树的右子树进行翻转
3、将左右子树的根节点进行交换(不用考虑原二叉树的根节点,因为原二叉树的根节点在翻转前后没有改变)
C++ 代码
————————————————————————————————————————————————————————————————————————————
1、树节点定义
2、递归代码
—————————————————————————————————————————————————————————————————————————————
谢谢您的阅读,有何意见和建议,欢迎交流!
—————————————————————————————————————————————————————————————————————————————
1 0
- 翻转二叉树(C++)
- 翻转二叉树(Invert Binary Tree)
- Invert Binary Tree(翻转二叉树)
- LintCode--翻转二叉树(非递归)
- 翻转二叉树(递归非递归)
- 翻转二叉树(leetcode-226)
- C++二叉树翻转
- 翻转二叉树
- 翻转二叉树
- 题目:翻转二叉树
- LintCode 翻转二叉树
- LinkCode-翻转二叉树
- 翻转二叉树
- 翻转二叉树
- 翻转二叉树
- LintCode_175_翻转二叉树
- 二叉树翻转
- lintcode ----翻转二叉树
- ViewController跳转和传参以及dismissViewControllerAnimated、presentedViewController等
- 动画操作
- linux程序设计——执行SQL语句(第八章)
- 病人监护、胎儿监护(三参、九参)全套方案
- 移动前端不得不了解的html5 head 头标签
- 翻转二叉树(C++)
- HDU 1853 Cyclic Tour(最小费用最大流)
- iOS类别和扩展(category和extension)
- 实现链式队列
- adt Failed to create the Java Virtual Machine.
- 30. Socket下载时,服务器端出错: len=10240 count=115 len=10240 count=116 len=7168 count=last java.net.SocketExc
- code vs1099 字串变化 字符串搜索(STL)
- [CSS]IE6和360浏览器兼容模式下的兼容性问题
- Python初始化实例属性