二叉树的镜像
来源:互联网 发布:马伊琍 哪里漂亮 知乎 编辑:程序博客网 时间:2024/05/18 05:03
思路:实际上是交换除了叶子结点外的结点的左右子树,在重复这个过程。
public static void mirrorRecurs(TreeNote root){ if(root==null){ return; } if(root.getLeftTreeNote()==null&&root.getRighTreeNote()==null){ return ; } TreeNote lefTreeNote=root.getLeftTreeNote(); TreeNote righTreeNote=root.getRighTreeNote(); //交换结点的左右子树 root.setLeftTreeNote(righTreeNote); root.setRightTreeNote(lefTreeNote); if(lefTreeNote.getLeftTreeNote()!=null){ mirrorRecurs(lefTreeNote); } if(righTreeNote.getRighTreeNote()!=null){ mirrorRecurs(righTreeNote); } }
TreeNote类:
public class TreeNote { private int value; //节点值 private TreeNote leftTreeNote; //左子树 private TreeNote rightTreeNote; //右子树 public TreeNote(){ } public TreeNote(int value) { this.value=value; } public void setValue(int value){ this.value=value; } public int getValue(){ return value; } public void setLeftTreeNote(TreeNote leftTreeNote){ this.leftTreeNote=leftTreeNote; } public TreeNote getLeftTreeNote(){ return leftTreeNote; } public void setRightTreeNote(TreeNote rightTreeNote){ this.rightTreeNote=rightTreeNote; } public TreeNote getRighTreeNote(){ return rightTreeNote; }}
0 0
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 44、对象的深克隆与浅克隆
- Mysql配置文件my.cnf配置及配置参数详解
- 程序员应该具备的十个代码习惯
- Length of Last Word
- 45、java网络编程
- 二叉树的镜像
- 46、JVM之类加载器
- 基于GDAL的栅格图像读写与转换——C#语言版
- 写在hibernate里面的sql setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
- 推荐的Oracle书籍
- css学习
- Java关闭钩子的应用
- 47、类加载器的父亲委托机制
- Bouncy Castle 的 ASN1 使用方法