zoukankan      html  css  js  c++  java
  • 剑指offer十八之二叉树的镜像

    一、题目

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

    二、思路

          利用递归,直接更换左右子节点

    三、代码

    public class Solution {
        public TreeNode mirror(TreeNode root) {
    
            TreeNode temp = null;
    
            if (root != null) {  //判断头节点是否为空,如果不为空,更换其左右子节点
                temp = root.left;
                root.left = root.right;
                root.right = temp;
                if (root.left != null) { //如果左子节点不为空,更换其左右子节点
                    mirror(root.left);
                }
                if (root.right != null) {//如果右子节点不为空,更换其左右子节点
                    mirror(root.right);
                }
                
            }
            return root;  //返回头节点
        }
    }
    View Code

    ------------------------------------------------------------------------

    参考链接:https://www.nowcoder.com/questionTerminal/564f4c26aa584921bc75623e48ca3011

  • 相关阅读:
    博客样式备份
    2018年终总结
    技术博客的太监
    LeetCode 日常填坑
    互联网之父
    TotoiseSVN的使用方法
    常用CMD命令
    量化策略
    浏览器加载js的阻塞与非阻塞
    Vue核心之数据劫持
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/7620180.html
Copyright © 2011-2022 走看看