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

树的遍历 | 翻转二叉树相关推荐

  1. 对树的遍历和二叉树遍历之间的关系的理解

    问题描述 听课到树的遍历,当其与二叉树的遍历联系起来时,一个问题困惑着我:为什么树的后根遍历对应的是二叉树的中序遍历?我的思考如下: 树与二叉树 定义不多讲,这里再介绍以下普通树与二叉树之间的转换(其 ...

  2. 【2019暑假刷题笔记-树的遍历】总结

    关于树这一块,前期没有做一个学习的绪论,因为时间来不及了.在总结上回顾一下这些题目的一些特点 树的遍历的是数据结构树这一块中的一部分. 树的遍历和二叉树的遍历本质上相同.二叉树用指针也可以做,但是在考 ...

  3. 代码随想录算法训练营Day15|Leetcode102二叉树的层序遍历、Leetcode226翻转二叉树、Leetcode101对称二叉树

    Day15打卡! 时长:2h 今日感想:今天主要学习了二叉树层次遍历的思路方法和应用.题目看似简单,实则有很多细节,有时间可以做做其他相似的推荐题目~ Leetcode102 二叉树的层序遍历 题目链 ...

  4. day23【代码随想录】翻转二叉树、对称二叉树、相同的树、另一棵树的子树、完全二叉树的结点个数

    文章目录 前言 一.翻转二叉树(力扣226) 1.递归法 1.使用前序遍历 2.使用后序遍历 2.迭代法 1.层序遍历 二.对称二叉树(力扣101) 三.相同的树(力扣100) 四.另一棵树的子树(力 ...

  5. 代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2

    代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2 1.1 层序遍历 10 1.1.1 102.二叉树的层序遍历 思路: 通过队列实现 class Solut ...

  6. 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树

    代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...

  7. 数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适

    题目 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适?(北京航空航天大学1999,北京工业大学2016) A. 前序 B. 中序 C. 后序 D. 层次 ...

  8. java二叉树合并_Java(树的前中后序遍历构造二叉树题型整合)前序和中序、中序和后序、前序和后序遍历序列构造二叉树算法整合归纳...

    前言 二叉树各种花里胡哨的算法题真的把我搞晕了,今天特地整理出一类有关二叉树的算法题,希望能帮助阅读到此文章的人,今后不再受此类题型的困扰. 一.题目类型 已知二叉树的两种遍历序列,请根据该序列构建二 ...

  9. 树和森林与二叉树的转换、树和森林的遍历

    全部数据结构.算法及应用课内模板请点击:https://blog.csdn.net/weixin_44077863/article/details/101691360 树和森林转二叉树其实十分简单,我 ...

最新文章

  1. LeetCode简单题之按键持续时间最长的键
  2. [翻译]Joomla 1.5架构(十一) model 包
  3. python打开-Python中的打开文件对话框(转)
  4. [网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站防护
  5. 细数开源历史上的十个重大事件
  6. 【干货】同步与互斥的失败例子
  7. 逼自己学python后,我成了同事眼中的大神
  8. 某电子工厂老板感叹创业开厂人生
  9. android开发中出现R.java was modified manually! Reverting to generated version!问题的解决方法...
  10. 背景图片固定(背景图片附着)(HTML、CSS)
  11. 谈谈自己对投影、SVD和傅里叶变换的理解
  12. Sturts2 三种开发模式 (转)
  13. zebra 的Thread机制 -- 003
  14. 新版音乐网站系统源码Sourcecode
  15. ARP表项的创建与更新
  16. ping命令结果中如何显示时间
  17. linux下kegg注释软件,KEGG pathway注释过程
  18. 马云把码云封了,中国最大的男性交友网站无法访问!!!
  19. iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
  20. 京东“百亿补贴”提前20小时上线,电商价格战开打; iPhone 15 Pro玻璃面板泄露;凹语言 0.5.0发布|极客头条

热门文章

  1. Trial SCN WebIDE版本下载
  2. SAP UI5关于navigation API的boolean参数
  3. 如何用代码填充S/4HANA销售订单行项目的数量字段
  4. linux 管理 服务,Linux服务管理 详述
  5. 大楼通信综合布线系统_系统梳理一下综合布线系统的方方面面
  6. python web server_Python实现简易版的Web服务器(推荐)
  7. js svg 转成文件_如何缩小 SVG 文件的大小?去掉冗余的标签,压缩它的大小
  8. markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
  9. Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. 报错详细
  10. android壁纸选择器,Android 图片选择器