(java)随意输入一串数字数组,生成二叉树,生成二叉树后经行遍历输出。再对原有二叉树进行反转,生成镜像二叉树(可运行)

本文介绍了如何使用Java通过递归思想,将输入的一串数字数组转化为二叉树,并对其进行遍历输出。接着详细阐述了如何对原二叉树进行反转,生成镜像二叉树。整个过程依赖于递归方法,当所有递归问题解决时,二叉树及其镜像就能成功构建并输出。
摘要由CSDN通过智能技术生成

主要用到递归思想,自己调用自己,第一个问题以来于第二问题的解决,第二个依赖于第三个。。。以此类推,当最后一个问题解决时,前面的问题都将解决。

设计二叉树类,其中左右子树属性是其本身类

package beans;

import java.util.ArrayList;
import java.util.List;



public class binaryTree {
    private Object rootnode;
    private binaryTree leftchild;
    private binaryTree rightchild;
    
    //构造方法初始化
    public  binaryTree() {
    	this.rootnode= null;
    	this.leftchild=null;
    	this.rightchild=null;
		
	}

    public void	add(Object value) {
    	//如果节点值为null,则把传进来的值赋值给节点
		if (rootnode==null) {
			rootnode=value;
		}else {
			//如果节点有值,则进行比对,如果小于或者等于节点值,进入下一环
			if ((Integer)rootnode>=(Integer)value) {
				/*如果左子树为空,则又新建一个三个属性都为null的二叉树对象给左子树,,
				用递归的思想,将value值传递给节点(整个递归中每一个环的左子树一直为空)*/
				if (null == leftchild){
					leftchild = new binaryTree();}
				//左子树不为空,则将值与子树的节点对比,对比后发现其左子树又为空,重复上
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值