翻转一棵二叉树。

示例:

输入:

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

4
   /   \
  7     2
 / \   / \
9   6 3   1
备注:
这个问题是受到 Max Howell 的 原问题 启发的 :

谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。

思路:递归解法,找到最左尾节点,根据当前根节点找到右节点,交换左右子树节点,依次递归

/*** 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==NULL)return NULL;TreeNode* left = invertTree(root->left);TreeNode* right = invertTree(root->right);root->left = right;root->right = left;return root;}
};

翻转二叉树—leetcode226相关推荐

  1. leetcode226. 翻转二叉树

    leetcode226. 翻转二叉树 题目描述 链接: leetcode226. 翻转一棵二叉树. 示例: 输入 输出 题解 public class leetcode226 {public clas ...

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

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

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

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

  4. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  5. 《LeetCode力扣练习》第226题 翻转二叉树 Java

    <LeetCode力扣练习>第226题 翻转二叉树 Java 一.资源 题目: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点. 示例 1: 输入:root = [4, ...

  6. 226. Invert Binary Tree 翻转二叉树

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

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

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

  8. Python3实现翻转二叉树问题

    Python3实现翻转二叉树问题 翻转一棵二叉树. # 二叉树的结构如下 class TreeNode:def __init__(self, x):self.val = xself.left = No ...

  9. 【Leetcode | 48】226. 翻转二叉树

    翻转一棵二叉树. 示例: 输入: 4    /   \   2     7   / \   / \ 1   3 6   9 输出: 4    /   \   7     2   / \   / \ 9 ...

最新文章

  1. 判断出栈顺序的合法性(面试题)
  2. linux打理ftp用户,Linux中如何添加/删除FTP用户并设置权限
  3. KnockOut绑定
  4. 走进JVM之一 自己编译openjdk源码
  5. 1.Easy Touch 3.1
  6. Spring 自动装配 ‘byName’
  7. 基于表达式的访问控制
  8. 【渝粤教育】广东开放大学 网页设计与制作 形成性考核 (25)
  9. Griffon 1.1 发布,Groovy 开发框架
  10. AT指令:常见的AT命令
  11. 【Spring-IOC】依赖注入
  12. apache url路由配置重写
  13. ykhmi是什么触摸屏软件_一体机使用中常见问题-中达优控|YKHMI|触摸屏|一体机|云组态-深圳市中达优控科技有限公司 —— YKHMI|触摸屏|一体机|云组态...
  14. 基于Bootstrap的响应式网页
  15. 36个excel技巧、50个快捷键
  16. Hadoop配置历史服务器、日志聚集、常用端口号(2.x/3.x)
  17. 多视图聚类的算法总结
  18. 天敏VC4000调试
  19. 数据分析- 2012美国总统竞选赞助数据分析
  20. 通过Spring boot编写数据查询接口-----练习题

热门文章

  1. 2011.10.17百度面试题
  2. Jmeter_简单的关联设置
  3. mysql查询缓慢原因和解决方案
  4. spring beanFactory
  5. UI   控件 —UITextFile
  6. [转]UTF-8 GBK UTF8 GB2312 之间的区别和关系
  7. (收藏)Turbo C 2.0、Borland C++库函数及用例
  8. linux 递归删除 空目录命令,使用shell脚本实现递归删除空目录
  9. [知识图谱实战篇] 一.数据抓取之Python3抓取JSON格式的电影实体
  10. Git之深入解析48个经典操作场景的分析和处理,专治不会合并代码