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;
}
}
测试结果:
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;
}
}
测试结果:
相关文章推荐
- J2EE进阶(四)Spring配置文件详解
- J2EE进阶(四)Spring配置文件详解
- selenium测试(Java)--上传文件(十五)
- javaWeb验证码技术
- dubbo服务调用产生AbstractMethodError与解决方法
- Java之用继承进行设计详解(附源码)
- Java并发编程——Executor接口及线程池的使用
- eclipse 如何引入本地dtd
- Spring杂记之--Spring配置文件
- Java EJB JBoss
- 集合(Collections)
- eclipse安装完PyDev后不显示
- eclipse如何新建一个maven项目
- [JavaWeb]JavaSocket获取网页源代码遇见的问题
- [JavaWeb]JavaSocket获取网页源代码遇见的问题
- 泛型(一)之定义说明
- Java-IO之DigestInputStream
- java容器基本概念
- Java之协变返回类型详解(附源码)
- springVS javaee