文章目录

  • 1. 题目信息
  • 2. 解题
    • 2.1 DFS
    • 2.2 BFS

1. 题目信息

翻转一棵二叉树。

示例:输入:4/   \2     7/ \   / \
1   3 6   9输出:4/   \7     2/ \   / \
9   6 3   1

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/invert-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

《剑指Offer》同题:面试题27. 二叉树的镜像

2. 解题

2.1 DFS

/*** 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* invertTree(TreeNode* root) {  if(root){swap(root->left,root->right);invertTree(root->left);invertTree(root->right);}return root;}
};

class Solution {public:TreeNode* mirrorTree(TreeNode* root) {if(!root)return root;mirrorTree(root->left);mirrorTree(root->right);swap(root->left,root->right);return root;}
};

2.2 BFS

利用队列,按层遍历

class Solution {//BFS
public:TreeNode* invertTree(TreeNode* root) {queue<TreeNode*> q;TreeNode* temp;q.push(root);while(!q.empty()){temp = q.front();if(temp){q.push(temp->left);q.push(temp->right);swap(temp->left, temp->right);}q.pop();}return root;}
};

LeetCode 226. 翻转二叉树(DFS BFS)相关推荐

  1. LeetCode:226. 翻转二叉树

    226. 翻转二叉树 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 用递归的方法将二叉树的左右节点互换,核心思想就是交换 源码: struct TreeNode* invertTree(s ...

  2. Java实现 LeetCode 226 翻转二叉树

    226. 翻转二叉树 翻转一棵二叉树. 示例: 输入: 4/ \2 7/ \ / \ 1 3 6 9 输出: 4/ \7 2/ \ / \ 9 6 3 1 备注: 这个问题是受到 Max Howell ...

  3. LeetCode 226 翻转二叉树

    思路 递归: 考虑翻转二叉树根结点的左子树和右子树 递归出口 1.如果root为NULL,返回空节点 if(root==NULL)return NULL; 2.如果root不为NULL,且左右子树全为 ...

  4. leetcode 226. 翻转二叉树

    难度:简单 频次:47 题目: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点. 解题思路: 1.DFS遍历的时候反转root的左右节点即可 2.后者用队列模拟栈模拟递归 代码 / ...

  5. Leetcode 226. 翻转二叉树 (每日一题 20210819)

    翻转一棵二叉树.示例:输入:4/ \2 7/ \ / \ 1 3 6 9 输出:4/ \7 2/ \ / \ 9 6 3 1链接:https://leetcode-cn.com/problems/in ...

  6. LeetCode 226翻转二叉树-简单

    翻转一棵二叉树. 示例: 输入: 4/ \2 7/ \ / \ 1 3 6 9 输出: 4/ \7 2/ \ / \ 9 6 3 1 代码如下: /*** Definition for a binar ...

  7. leetcode - 226. 翻转二叉树

    翻转一棵二叉树. 示例: 输入: 输出: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode ...

  8. Leetcode——226. 翻转二叉树

    问题 翻转一个二叉树,例子如下: 输入:4/ \2 7/ \ / \ 1 3 6 9 输出:4/ \7 2/ \ / \ 9 6 3 1 可以看出相当于原二叉树的镜像,也就是像逆置二叉树的每一层 解决 ...

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

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

最新文章

  1. Silverlight中文件的生成操作与其对应的获取方法
  2. PHP中判断字符串是否全是中文eregi函数或含有中文preg_match函数
  3. cassandra可视化_容器化Spring Data Cassandra应用程序
  4. a标签 vue 动态点击_vue基础那点事
  5. java学习是什么_学习JAVA有什么作用?
  6. JDK5.0的11个主要新特征
  7. mysql编译gcov_Mysql 编译参数详解
  8. Java集合11 (Queue)
  9. 赛尔笔记 | 自然语言处理中的迁移学习(下)
  10. 如何设置unobtrusive的语言包
  11. Eclipse安装JD-Eclipse反编译插件
  12. SqlDataReader的用法(重点:访问字段的值)
  13. Arduino+SIM900A+继电器
  14. 异或(另类斐波那契数列题)
  15. 黑苹果安装经验整理|再见丁小果
  16. JAVA在线考试系统毕业设计 开题报告
  17. 爱奇艺qsv格式视频无损转换为MP4
  18. 妙用CSS变量,让你的CSS变得更心动
  19. vue使用百度地图3.0,使用JavaScriptAPI版,聚合点,个性化地图切换卫星地图
  20. 最强GPU助力,Imagination踏上新征途

热门文章

  1. alt复制选区就会卡 ps_PS入门视频教程笔记整理(二)工具栏介绍一
  2. 汇编指令的学习4——ldm/stm指令、栈的处理
  3. php redis 队列,Redis 实现队列
  4. PYQT4 Python GUI 编写与 打包.exe程序
  5. ionic拍照,从相册选择功能
  6. ufldl学习笔记与编程作业:Multi-Layer Neural Network(多层神经网络+识别手写体编程)...
  7. 纯CSS方块转化梯形动画
  8. 使用for语句打印图形
  9. POJ2503 Babelfish(二分)
  10. 黑马程序员---面向对象笔记总结