关闭

剑指offer--二叉树的镜像

标签: 数据结构剑指offer-java实现牛客网在线编程
218人阅读 评论(0) 收藏 举报
分类:

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


思路:
1、找到不为空的节点。
2、然后交换左右节点。
3、递归调用此函数。


AC代码:

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    public void Mirror(TreeNode root) {
        if ( root != null && (root.left != null || root.right != null)){
            TreeNode tmp = root.left;
            root.left = root.right;
            root.right = tmp;
            Mirror(root.left);
            Mirror(root.right);
        }
    }
}
1
0
查看评论

剑指Offer——重建二叉树——C++

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:根据前序第一个字符是...
  • hellozmz
  • hellozmz
  • 2016-11-25 10:52
  • 814

剑指offer--二叉树的镜像

题目描述 输入一个二叉树,输出其镜像。 /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-11 13:56
  • 557

剑指Offer:面试题6重建二叉树

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 前序遍历:是先根节...
  • u012162920
  • u012162920
  • 2016-08-17 14:18
  • 220

剑指offer--构造二叉树

剑指offer--构造二叉树
  • m0_37666249
  • m0_37666249
  • 2017-03-23 22:43
  • 120

剑指offer--对称的二叉树

题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-17 21:08
  • 966

剑指Offer--层序遍历二叉树

题目:层序遍历二叉树,即从上往下打印二叉树,每层从左往右;解析:这道题目并不难,只是比较常用的一个问题,因为树形结构的多种遍历方法,我想以后会有很多使用的机会,所以借此收藏一下。以下的实现方法也是最常用的一种,就是用一个队列来存储每一层的节点,然后输出,完成层序遍历。因为队列的特点是先进先出,所以父...
  • yuwenhao07
  • yuwenhao07
  • 2017-05-12 22:06
  • 91

剑指offer--序列化二叉树

题目描述/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val ...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-18 14:27
  • 1188

剑指-二叉树镜像

题目: 请完成一个函数,输入一个二叉树,该函数输出他的的镜像. 思路: 先序遍历这棵树的每个结点,如果遍历到结点有子结点,就交换它的两个子结点, 当交换完所有非叶子结点的左右结点之后,就的到了树的镜像
  • biezhihua
  • biezhihua
  • 2016-08-25 15:11
  • 525

剑指-二叉树的镜像

注意此处:不要单独把左右子节点拿出来,会出错,目前还不知道原因 void Mirror(TreeNode *pRoot) { if (pRoot == NULL)return; TreeNode* temp; temp = pRoot->left; ...
  • wdfscsdn2015
  • wdfscsdn2015
  • 2018-01-21 15:41
  • 15

剑指offer--面试题19:二叉树的镜像

题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。  输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 ...
  • qingyujean
  • qingyujean
  • 2016-09-26 22:31
  • 89
    个人资料
    • 访问:155587次
    • 积分:4928
    • 等级:
    • 排名:第6843名
    • 原创:329篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条
    博客专栏
    最新评论