剑指offer--二叉树的镜像

原创 2017年04月25日 15:15:02

题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
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);
        }
    }
}
版权声明:本文为博主原创文章,若需转载,请注明http://blog.csdn.net/qq_30091945

相关文章推荐

【剑指Offer】面试题19:二叉树的镜像

整理自剑指Offer 一:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 ...

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

题目描述: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。解题思路: 我们先前序遍历这棵树的每个结点,如果这个结点有子结点,就交换它的两个子结点。当交换完所有非叶子结点的左右子结点后,就得到...

剑指offer_面试题19_二叉树的镜像

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。 解题方法:遇到复杂问题,可以通过画图、举例等方法,来让自己加深理解。思路往往就在你一步步的分析之中。 思路:遍历这颗树的每个结点,如果遍历到...

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

题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 思路先画图观察二叉树的镜像的特点。 1.源二叉树     8     / \     6 10    / \ / \ ...

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

package case19_MirrorOfBinaryTree; public class MirrorOfBinaryTree { //完成二叉树的镜像操作 public static...

剑指offer系列----镜像二叉树

package offer; /** * 操作给定的二叉树,将其变换为源二叉树的镜像。 */ import java.util.Stack;public class Mirror { p...

【剑指Offer面试题】 九度OJ1521:二叉树的镜像

题目链接地址: http://ac.jobdu.com/problem.php?pid=1521题目1521:二叉树的镜像时间限制:1 秒内存限制:128 兆特殊判题:否提交:2075解决:564...

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

题目: 完成一个函数,输入一个二叉树,该函数输出它的镜像。 基本思想: 先前序遍历这棵树的每个节点,如果遍历到的节点有子节点,就交换它的两个子节点,当交换完所有的...

剑指Offer系列---(21)二叉树的镜像

1.题目描述: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树结点的定义如下: struct BinaryTreeNode {     int              m_n...

剑指offer面试题:求二叉树的镜像(递归、循环解法及测试用例)

题目:给定二叉树,将其变换为源二叉树的镜像。 二叉树的定义如下: struct TreeNode {     int val;     TreeNode* left;     TreeNode* ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:剑指offer--二叉树的镜像
举报原因:
原因补充:

(最多只允许输入30个字)