频道栏目
首页 > 考试 > 其他 > 正文

[剑指offer] 二叉树的镜像

2016-05-13 09:21:11         来源:范润奇  
收藏   我要投稿

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述

二叉树的镜像定义:

源二叉树  

        8
       /  \
      6   10
     / \  / \
    5  7 9  11 

镜像二叉树 

        8
       /  \
      10   6
     / \  / \
    11 9 7  5

输出描述

源二叉树的镜像

题目分析

节点描述:

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

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

解法  运行时间:38ms  占用内存:688k 

public class Solution {
    public void Mirror(TreeNode root) {        
        if(root==null) return;

        //交换左右子节点
        TreeNode tempNode;
        tempNode = root.left;
        root.left = root.right;
        root.right = tempNode;

        Mirror(root.left);
        Mirror(root.right);
    }
}

  思路:从根节点开始依次递归遍历整棵树,如果节点不为空,就交换它的左右子节点(对象的赋值,相应的左右指针也会改变)。

相关TAG标签 镜像
上一篇:【华为OJ】【046-成绩排序】
下一篇:HDU 1013 Digital Roots(两种方法,求数字根)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站