题目描述
输入一串二叉树,输出其前序遍历。
输入格式
第一行为二叉树的节点数 𝑛。(1≤𝑛≤26)
后面 𝑛 行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
空节点用 *
表示
输出格式
二叉树的前序遍历。
代码:
package lanqiao;import java.util.*;public class Main{static int n = 0;static char[][] a;static String s;public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();a = new char[30][3];for(int i = 0;i < n;i ++){s = sc.next().trim();for(int j = 0;j < 3;j ++){a[i][j] = s.charAt(j);}}f(a[0][0]);}public static void f(char x){if(x != '*'){System.out.print(x);for(int i = 0;i < n;i ++){if(a[i][0] == x){f(a[i][1]);f(a[i][2]);}}}}
}