package com.com.liutong;
import java.util.Scanner;
class TreeNode {
public char data;
public TreeNode leftChild;
public TreeNode rightChild;
}
class BinaryTree {
int i = 0;
public TreeNode createBinaryTree(String arr){
if (arr == null || arr.length() == 0) {
return null;
}
TreeNode node = new TreeNode();
node.data = arr.charAt(i++);
if (node.data ==',') {
return null;
} else {
node.leftChild = createBinaryTree(arr);
node.rightChild = createBinaryTree(arr);
}
return node;
}
public void list(TreeNode root){
if(root==null){
return;
}
else {
list(root.leftChild);
System.out.print(root.data);
list(root.rightChild);
}
}
public void Lastlist(TreeNode root){
if(root==null){
return;
}
else {
Lastlist(root.leftChild);
Lastlist(root.rightChild);
System.out.print(root.data);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = new String();
while(sc.hasNext()) {
str = sc.nextLine();
BinaryTree binaryTree1 = new BinaryTree();
TreeNode binaryTree = binaryTree1.createBinaryTree(str);
binaryTree1.list(binaryTree);
System.out.println("");
binaryTree1.Lastlist(binaryTree);
System.out.println("");
}
}
}
通过先序遍历,求中序遍历和后序遍历