题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \、
6 10
/ \ / \、
5 7 9 11
镜像二叉树
8
/ \、
10 6
/ \ / \、
11 9 7 5

解题思路
递归的思想,交换两个子节点。

public class GlassMe {public static void main(String[] args) {}/***** @param pRoot TreeNode类* @return TreeNode类*/public TreeNode Mirror (TreeNode pRoot) {if(null == pRoot){return null;}if(pRoot.left == null && pRoot.right == null){return pRoot;}TreeNode temp = pRoot.left;pRoot.left = pRoot.right;pRoot.right = temp;Mirror(pRoot.left);Mirror(pRoot.right);return pRoot;}
}class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) { val = x; }
}

常考数据结构与算法:二叉树的镜像相关推荐

  1. 常考数据结构与算法:二叉树的最大深度

    题目描述 求给定二叉树的最大深度, 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量. class TreeNode {int val;TreeNode left;TreeNode righ ...

  2. 常考数据结构与算法:二叉树的之字形层序遍历

    题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树之字形层序遍历的结果是 [ ...

  3. 常考数据结构与算法:输出二叉树的右视图

    题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 上图树的右视图为:{1,4,3,7} 做此题之前可以先做下面3道题: 1. 常考数据结构与算法:求二叉树的层序遍历 2.常 ...

  4. 常考数据结构与算法:求二叉树的层序遍历

    题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], ...

  5. 常考数据结构与算法:判断二叉树是否对称(迭代法,递归法)

    给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称) 例如:下面这棵二叉树是对称的      1     /  \   2    2  / \    / \ 3 4  4  3 下面这棵二叉树不对称 ...

  6. 常考数据结构与算法:在二叉树中找到两个节点的最近公共祖先

    题目描述 给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点.   假设节点的值都大于0. 比如9,10的最近公共祖先节点是2. 思路: 从根节点开始遍历 ...

  7. 常考数据结构与算法:实现二叉树先序,中序和后序遍历

    题目描述 分别按照二叉树先序,中序和后序打印所有的节点. 输入 {1,2,3} 返回值 [[1,2,3],[2,1,3],[2,3,1]] import java.util.ArrayList;cla ...

  8. 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,

    题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...

  9. 常考数据结构与算法:重建二叉树

    输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5 ...

最新文章

  1. python的set结构
  2. 华为鸿蒙os什么运行内存多大,华为公布鸿蒙OS 2.0硬件安装要求:只要128K内存就能跑...
  3. 江阳职高计算机应用教改实验,计算机应用课程教改模式
  4. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题
  5. 关于 WSGI、uwsgi和uWSGI的区别及基于 uWSGI和gunicorn 部署python web 简述
  6. Vertica系列: Vertica DB连接负载均衡
  7. 新一代的桌面虚拟化技术
  8. 使用git命令把自己的代码上传到gitlab上
  9. matlab 神经网络设计与应用,MATLAB 神经网络设计与应用(最新版)
  10. 优秀的项目经理都会用这60个项目管理工具模板,可直接编辑套用
  11. ENVI App Store 下载与安装
  12. 【信息融合】基于BP神经网络和DS 证据理论实现不确定性信息融合问题附matlab代码
  13. 安利一个免费下载VIP文档神器
  14. 「数据结构 | 链表」单链表、双向链表节点操作演示动画
  15. 5个wordpress资源网站推荐
  16. <口算练习机 方案开发原理图>口算练习机/口算宝/儿童数学宝/儿童计算器 LCD液晶显示驱动IC-VK1621B,提供技术支持
  17. proe中的一些使用技巧!
  18. 一个简单的linux命令——rm
  19. CSDN付费专栏服务要求
  20. “自如”的看房,“自如”的体验

热门文章

  1. mysql 触发器介绍
  2. Procedure execution failed 2013 - Lost connection to MySQL server during query
  3. Linux下安装jdk(xxx.rpm,非xxx.tar.gz,请注意!)过程
  4. 《HTTP权威指南》– 5.Web服务器
  5. 关于VS打包程序无法弹出主界面的问题
  6. SpringMvc+AngularJS通过CORS实现跨域方案
  7. Java 8 简明教程
  8. 插入排序之——希尔排序(c/c++)
  9. 微服务下的容器部署和管理平台Rancher
  10. vuex状态管理简单入门