盛大编程题 输入一个深度树 输出他的josn格式(ps 第一次写 写的不好请不要见怪,另外就是有错的地方,不合理的地方请指出。)

话不多说上源码。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		List<Integer> index=new ArrayList<>();
		List<String> strs=new ArrayList<>();
		int deep=0;
		while(sc.hasNextLine()){
			String s=sc.nextLine();
			if(s.length()==0)
				break;
			deep=s.lastIndexOf(" ");
			String ss=s.substring(deep+1);
			index.add(deep);
			strs.add(ss);
		}
		StringBuilder out=new StringBuilder();
		int cur=-1, next=0;
		out.append(strs.get(0));
		String temp="";
		int count=0;
		for(int i=1; i<strs.size(); i++){
			next=index.get(i);
			temp=strs.get(i);
			if(next>cur){
				out.append("(");
				count++;
			}
			if(next==cur){
				out.append(",");
			}
			if(next<cur){
				out.append("),");
				count--;
			}
			out.append(temp);
			cur=next;
		}
		while(count-->0){
			out.append(")");
			
		}
		System.out.println(out.toString());
		
	}
}

测试用例及结果

 

posted @ 2016-09-28 22:19  18252060817  阅读(108)  评论(1编辑  收藏  举报