可以结合这篇文章:http://blog.csdn.net/u014285517/article/details/50440829
代码如下:
package com.company;
import java.io.IOException;
public class Test5 {
public static class TreeNode {
char val;
TreeNode left;
TreeNode right;
TreeNode(char val) {
this.val = val;
}
}
static TreeNode createBinaryTree() {
char ch = 0;
try {//java读入单个字符
ch = (char)System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
if (ch == '#') {
return null;
} else {
TreeNode treeNode = new TreeNode(ch);
treeNode.left = createBinaryTree();
treeNode.right = createBinaryTree();
return treeNode;
}
}
static void frontTraverse(TreeNode treeNode) {
if (treeNode == null) {
return;
}
System.out.print(treeNode.val);
frontTraverse(treeNode.left);
frontTraverse(treeNode.right);
}
static void middleTraverse(TreeNode treeNode) {
if (treeNode == null) {
return;
}
middleTraverse(treeNode.left);
System.out.print(treeNode.val);
middleTraverse(treeNode.right);
}
static void endTraverse(TreeNode treeNode) {
if (treeNode == null) {
return;
}
endTraverse(treeNode.left);
endTraverse(treeNode.right);
System.out.print(treeNode.val);
}
public static void main(String[] args) {
TreeNode root = createBinaryTree();
frontTraverse(root);
System.out.println();
middleTraverse(root);
System.out.println();
endTraverse(root);
}
}