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

盛大编程题 输入一个深度树 输出他的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());			}}

测试用例及结果

技术分享

 

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