博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的镜像
阅读量:4095 次
发布时间:2019-05-25

本文共 831 字,大约阅读时间需要 2 分钟。

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:

二叉树的镜像定义:源二叉树     	    8    	   /  \    	  6   10    	 / \  / \    	5  7 9 11    	镜像二叉树    	    8    	   /  \    	  10   6    	 / \  / \    	11 9 7  5

思路

昨天看到《剑指offer》上的思路,的确非常简单,巧妙。不断交换每个节点的左右子树,交换完毕,二叉树镜像也就调整完毕了。同时,要考虑程序的健壮性,空指针,特殊值怎么处理要谨慎考虑。

附程序

/**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){			return ;		}        exchangeSubtree(root);                if(root.left!=null){        	Mirror(root.left);        }        if(root.right!=null){        	Mirror(root.right);        }    }		public static void exchangeSubtree(TreeNode root){		TreeNode temp = root.left;		root.left = root.right;		root.right = temp;	}}

转载地址:http://rfdii.baihongyu.com/

你可能感兴趣的文章
推荐系统中的SVD算法
查看>>
产品管理|产品设计流程[完整版]
查看>>
TableViewCell自定义分割线
查看>>
C语言笔记之结构体
查看>>
[积累]C++复习 海大2014硕士生面试题微信系统总结
查看>>
JAVA设计模式--工厂方法模式
查看>>
js正则表达式语法
查看>>
网络直播电视之M3U8解析篇 (下)
查看>>
走进windows编程的世界-----windows进程
查看>>
人类智商一般在多少左右?爱因斯坦的智商是多少?
查看>>
在mac上使用sublime text3搭建opencv3开发环境
查看>>
seq2seq模型详解及对比(CNN,RNN,Transformer)
查看>>
Python Day3
查看>>
sharepoint:各种阀值
查看>>
Divide Two Integers
查看>>
java中Class对象详解
查看>>
springboot结合maven打包发布
查看>>
Redis命令总结
查看>>
实验五 视图--
查看>>
iOS 下的相册与图片处理
查看>>