题解 | #最大数#
最大数
http://www.nowcoder.com/practice/fc897457408f4bbe9d3f87588f497729
import java.util.*;
public class Solution {
/**
* 最大数
* @param nums int整型一维数组
* @return string字符串
*
* 冒泡排序法:先将整形数变成字符串,然后再使用冒泡排序法
*/
public String solve (int[] nums) {
// write code here
int length = nums.length;
//特殊值处理
if(length == 1){
return "" + nums[0];
}
String[] str = new String[length];
//整形数变成字符串
for(int i=0;i<length;i++){
str[i] = "" + nums[i];
}
String left = "";
String right = "";
String temp = "";
//冒泡排序法
for(int i=length-2;i>=0;i--){
for(int j=0;j<=i;j++){
left = str[j] + str[j+1];
right = str[j+1]+ str[j];
if(left.compareTo(right)<0){
temp = str[j];
str[j] = str[j+1];
str[j+1] = temp;
}
}
}
temp = "";
//合并字符串
for(int i=0;i<length;i++){
temp += str[i];
}
return temp.charAt(0)=='0'?"0":temp;//特殊值处理,如果字符串的第一个值是0(eg:"00000"),则返回“0”;
}
}