您的位置:首页 > 编程语言 > Java开发

java 递归创建二叉树

2016-07-16 12:04 441 查看
代码

import java.util.Scanner;

class TreeNode{
int val;
TreeNode left=null;
TreeNode right=null;
public TreeNode(int val) {
this.val=val;
}
}
public class CreateBinaryTree {

public static void main(String[] args) {
// TODO Auto-generated method stub

Scanner in=new Scanner(System.in);

TreeNode root1=creatTree(in);
display(root1);
System.out.println();

}
private static void display(TreeNode root) {
// TODO Auto-generated method stub

if (root!=null) {
System.out.print(root.val+" ");
display( root.left);
display(root.right);

}
}
private static TreeNode creatTree(Scanner in) {
// TODO Auto-generated method stub
TreeNode newNode;
int val=in.nextInt();
if (val==-1) { //设置 -1 为结束数字
val=in.nextInt();
}
if (val!=0) { // 0 代表空节点
newNode=new TreeNode(val);
}else {
newNode=null;
return null;
}

newNode.left=creatTree(in);
newNode.right=creatTree(in);

return newNode;

}

}


测试结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: