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

	}
}

测试用例及结果

时间: 2024-08-09 19:51:40

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

编程题:为了展示文件包含功能,输入一个字符串,输出其长度。

1.c源代码如下: #include<stdio.h> #include"2.c" void main() { char string[20]; scanf("%s",string);         /*整个程序的功能:输入一个字符串,输出其长度*/ printf("There are %d characters.\n",string_len(string)); } 2.c源代码如下: int string_len(char str

c语言代码编程题汇总:输入一个整数n,输出斐波纳猰数列,采用的是递归算法——源代码

输出斐波纳猰数列,采用的是递归算法 程序代码如下: 1 /* 2 2017年3月5日11:16:02 3 功能:输入一个整数n,输出斐波纳猰数列,采用的是递归算法,源代码 4 */ 5 6 #include "stdio.h" 7 int fun(int n); //fun()函数的函数声明 8 int main (void) 9 { 10 int i, n = 0; 11 12 printf ("请输入一个整数n的数值:\n "); //此时输入的n是表示第几个数

编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url

编写一个C语言函数,要求输入一个url,输出该url是首页.目录页或者其他url 首页.目录页或者其他url 如下形式叫做首页: militia.info/ www.apcnc.com.cn/ http://www.cyjzs.comwww.greena888.com/ www.800cool.net/ http://hgh-products.my-age.net/ 如下形式叫做目录页: thursdaythree.net/greenhouses--gas-global-green-house-

【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)

输入一个整数,输出该数二进制表示中1的个数.如输入32,输出1. 代码实现: 方法1:与运算 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; int FindOneNumber(unsigned int num) {     int numberofOne = 0;     while (num)     {         num = num & (num - 1);         

输入一个字符串,输出该字符串中对称的子字符串的最大长度。

public class LongestSymmtricalLength2 { /* * Q75题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度. * 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4. */ public static void main(String[] args) { String[] strs = { "a","google", "elgoog", "agol

[华为机试]输入一个正整数,输出2000年1月1日经过该整数天后的日期.

//输入一个正整数,输出2000年1月1日经过该整数天后的日期.已测试,输入值可以为0~1095727 //如,100天后,日期为2000 4 10 #include<stdio.h> #define MAX_YEAR 5000//年数可以从2000一直到4999年. //函数功能:求解第year年共有多少天 int day_in_year(int year) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400

编程题:用指针变量输出字符串

#include<stdio.h> void main() {  char *string="Hello"; printf("%s\n",string); } 字符串指针变量的介绍: 运行结果: 编程题:用指针变量输出字符串,布布扣,bubuko.com

输入一个数值,输出其是否质数,1是质数,0不是质数

输入一个数值,输出其是否质数,1是质数,0不是质数. 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include<stdio.h> 4 5 int sushu(int num)//1是质数,0不是质数 6 { 7 int i; 8 int flag = 1;//默认是质数 9 10 if (num <= 1)//负数,0,1不是质数 11 { 12 flag = 0; 13 } 14 else 15 { 16 for (i = 2;i < num;

22、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路: n &(n-1)把n的最右边的1去掉,用count++计算1的个数  eg: 101 & 100 = 100   1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count = 0; 5             while(n!=0){ 6                 count++; 7                 n = n&