树的遍历 | 翻转二叉树
Invert a binary tree.
Example:Input:4/ \2 7/ \ / \
1 3 6 9
Output:4/ \7 2/ \ / \
9 6 3 1
思路1 递归:
把左子树和右子树进行交换。交换完之后,再去递归翻转左子树和右子树
class Solution(object):def invertTree(self, root):if root:root.left,root.right = root.right,root.leftself.invertTree(root.left)self.invertTree(root.right)return root
思路2 遍历
换父节点的时候,把子节点存下来,然后换完父节点了,就去换子点的。
class Solution(object):def invertTree(self, root):node = rootqueue = [root]while len(queue):root = queue.pop(-1)if root:root.left,root.right = root.right,root.leftif root.left:queue.append(root.left)if root.right:queue.append(root.right)return node
转载于:https://www.cnblogs.com/xmxj0707/p/10381201.html
树的遍历 | 翻转二叉树相关推荐
- 对树的遍历和二叉树遍历之间的关系的理解
问题描述 听课到树的遍历,当其与二叉树的遍历联系起来时,一个问题困惑着我:为什么树的后根遍历对应的是二叉树的中序遍历?我的思考如下: 树与二叉树 定义不多讲,这里再介绍以下普通树与二叉树之间的转换(其 ...
- 【2019暑假刷题笔记-树的遍历】总结
关于树这一块,前期没有做一个学习的绪论,因为时间来不及了.在总结上回顾一下这些题目的一些特点 树的遍历的是数据结构树这一块中的一部分. 树的遍历和二叉树的遍历本质上相同.二叉树用指针也可以做,但是在考 ...
- 代码随想录算法训练营Day15|Leetcode102二叉树的层序遍历、Leetcode226翻转二叉树、Leetcode101对称二叉树
Day15打卡! 时长:2h 今日感想:今天主要学习了二叉树层次遍历的思路方法和应用.题目看似简单,实则有很多细节,有时间可以做做其他相似的推荐题目~ Leetcode102 二叉树的层序遍历 题目链 ...
- day23【代码随想录】翻转二叉树、对称二叉树、相同的树、另一棵树的子树、完全二叉树的结点个数
文章目录 前言 一.翻转二叉树(力扣226) 1.递归法 1.使用前序遍历 2.使用后序遍历 2.迭代法 1.层序遍历 二.对称二叉树(力扣101) 三.相同的树(力扣100) 四.另一棵树的子树(力 ...
- 代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2
代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2 1.1 层序遍历 10 1.1.1 102.二叉树的层序遍历 思路: 通过队列实现 class Solut ...
- 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树
代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...
- 数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适
题目 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适?(北京航空航天大学1999,北京工业大学2016) A. 前序 B. 中序 C. 后序 D. 层次 ...
- java二叉树合并_Java(树的前中后序遍历构造二叉树题型整合)前序和中序、中序和后序、前序和后序遍历序列构造二叉树算法整合归纳...
前言 二叉树各种花里胡哨的算法题真的把我搞晕了,今天特地整理出一类有关二叉树的算法题,希望能帮助阅读到此文章的人,今后不再受此类题型的困扰. 一.题目类型 已知二叉树的两种遍历序列,请根据该序列构建二 ...
- 树和森林与二叉树的转换、树和森林的遍历
全部数据结构.算法及应用课内模板请点击:https://blog.csdn.net/weixin_44077863/article/details/101691360 树和森林转二叉树其实十分简单,我 ...
最新文章
- LeetCode简单题之按键持续时间最长的键
- [翻译]Joomla 1.5架构(十一) model 包
- python打开-Python中的打开文件对话框(转)
- [网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站防护
- 细数开源历史上的十个重大事件
- 【干货】同步与互斥的失败例子
- 逼自己学python后,我成了同事眼中的大神
- 某电子工厂老板感叹创业开厂人生
- android开发中出现R.java was modified manually! Reverting to generated version!问题的解决方法...
- 背景图片固定(背景图片附着)(HTML、CSS)
- 谈谈自己对投影、SVD和傅里叶变换的理解
- Sturts2 三种开发模式 (转)
- zebra 的Thread机制 -- 003
- 新版音乐网站系统源码Sourcecode
- ARP表项的创建与更新
- ping命令结果中如何显示时间
- linux下kegg注释软件,KEGG pathway注释过程
- 马云把码云封了,中国最大的男性交友网站无法访问!!!
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- 京东“百亿补贴”提前20小时上线,电商价格战开打; iPhone 15 Pro玻璃面板泄露;凹语言 0.5.0发布|极客头条
热门文章
- Trial SCN WebIDE版本下载
- SAP UI5关于navigation API的boolean参数
- 如何用代码填充S/4HANA销售订单行项目的数量字段
- linux 管理 服务,Linux服务管理 详述
- 大楼通信综合布线系统_系统梳理一下综合布线系统的方方面面
- python web server_Python实现简易版的Web服务器(推荐)
- js svg 转成文件_如何缩小 SVG 文件的大小?去掉冗余的标签,压缩它的大小
- markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
- Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. 报错详细
- android壁纸选择器,Android 图片选择器