import java.util.LinkedList;
公共类OJ {
公共OJ () )。
super (;
}
/*
*功能:输入一行数字。 如果将此行中的所有数字“5”视为空格,则得到一行由空格分隔的非负整数。 有些整数以“0”开头,但请忽略这些开头的“0”
除非此整数由几个'0'组成,否则此整数为0 )。 按从大到小的顺序对这些非负整数进行排序。
*
输入: input,由0到9之间的数字组成的字符串。
*输入数据要求:非数字字符,长度大于0且小于或等于1000,分段的非负整数小于或等于100000000,输入数据不能全部由'5'组成。
*
输出:输出。 字符串是非负整数排序结果,用分隔符分隔。 从大整数到小整数,相邻整数之间用空格分隔,第一个整数前面和最后一个整数后面没有空格。
*
返回:则正常返回0,异常失败则返回-1。
*/
publicstaticintgetsortnum (finalstringinput,final StringBuilder output ) {
if (input.length (=0||input.length ) ) )
返回- 1;
}
string[]nums=input.split('5);
int len=nums.length;
链接列表sorted=new linked list (;
int j=0;
for(intI=0; i len; I ) {
int temp=0;
int k=j;
if (! nums[i].equals (' ' ) {
try {
temp=integer.valueof(nums[I];
if(temp10000000 ) {
返回- 1;
}
if(sorted.isempty () ) )。
sorted.addfirst(temp;
j;
} else {
while (k0 (临时解决. get (k-1 ) ) ) )
k----;
}
sorted.add(k,temp );
j;
}
}catch(exceptionex ) {
返回- 1;
}
}
}
for(intI=0; Isorted.size(-1; I ) {
output.append(sorted.get(I ) ';
}
output.append(sorted.getlast ) );
output.trimToSize (;
返回0;
}
}