import java.util.Scanner; class TreeNode{ public char val; public TreeNode left; public TreeNode right; public TreeNode(char val){ this.val = val; } } // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { 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); } } 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.print(root.val + " "); inOrder(root.right); } }