关注
import java.util.*;
public class Test{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
int index = 0, preIndex = 0;
while(s.charAt(index) != '(') //找到根节点
index++;
TreeNode root = new TreeNode(null, null, null, s.substring(0,index)), tmp = root;
index++;
preIndex = index;
char flag = '(';
while(index < s.length()) {
char c = s.charAt(index);
if(c == '(' || c == ')' || c == ',') {
if(flag == '(') {
tmp.left = new TreeNode(null, null, null, s.substring(preIndex,index));
tmp.left.father = tmp;
tmp = tmp.left;
}else if(flag == ',') {
tmp = tmp.father;
tmp.right = new TreeNode(null, null, null, s.substring(preIndex,index));
tmp.right.father = tmp;
tmp = tmp.right;
}else if(flag == ')') {
tmp = tmp.father;
}
preIndex = index+1;
flag = c;
}
index++;
}
func(root);
}
private static void func(TreeNode root) {
if(root.left != null)
func(root.left);
System.out.print(root.val);
if (root.right != null)
func(root.right);
}
}
class TreeNode{
TreeNode left,right,father;
String val;
public TreeNode(TreeNode left, TreeNode right, TreeNode father, String val) {
this.left = left;
this.right = right;
this.father = father;
this.val = val;
}
}
查看原帖
点赞 2
相关推荐
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
12568次浏览 171人参与
# 你的mentor是什么样的人? #
51191次浏览 723人参与
# 程序员找工作至少要刷多少题? #
21439次浏览 276人参与
# 我和mentor的爱恨情仇 #
106322次浏览 950人参与
# 论秋招对个人心气的改变 #
13667次浏览 192人参与
# 机械人避雷的岗位/公司 #
44230次浏览 311人参与
# 为了减少AI幻觉,你注入过哪些设定? #
6186次浏览 185人参与
# 秋招落幕,你是He or Be #
54265次浏览 618人参与
# 校招第一份工作你干了多久? #
136685次浏览 597人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
47432次浏览 291人参与
# 设计人如何选offer #
189740次浏览 868人参与
# 考公VS就业,你怎么选? #
91998次浏览 507人参与
# 职场上哪些行为很加分? #
322629次浏览 3603人参与
# 你的秋招进行到哪一步了 #
2531167次浏览 23253人参与
# 牛客AI体验站 #
7892次浏览 212人参与
# 机械人还在等华为开奖吗? #
312200次浏览 1582人参与
# 秋招投递记录 #
380971次浏览 3204人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2340次浏览 52人参与
# 我现在比当时_,你想录用我吗 #
9524次浏览 131人参与
# 重来一次,我还会选择这个专业吗 #
411334次浏览 3898人参与
OPPO公司福利 1114人发布