给你前序遍历的结果,#代表null,让你以中序遍历的结果输出.
输入:ABC##DE#G##F###
输出:C B E G D F A
class TreeNode{
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(char val){
this.val=val;
}
}
public class demo2 {
public static int i=0;
public static TreeNode createTree(String str){
TreeNode root=null;
if(str.charAt(i)!='#'){
root=new TreeNode(str.charAt(i));
i++;
root.left=createTree(str);
root.right=createTree(str);
}else{
i++;
}
return root;
}
public static void inorder(TreeNode root){
if(root==null) return ;
inorder(root.left);
System.out.println(root.val+" ");
inorder(root.right);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
TreeNode root=createTree(str);
inorder(root);
}
}
}