public String largestNumber(int[] nums) {
		if (nums.length <= 0) {
			return "";
		}
		if (nums.length == 1) {
			return nums[0] + "";
		}
		List<Num> lres = new LinkedList();
		List l = getNums(nums);
		bucketSort(l, -1, lres);
		StringBuffer res = new StringBuffer();
		StringBuffer res2 = null;
		if(log)
			res2=new StringBuffer();
		int zeroidx = 0;
		for(int i=zeroidx;i<lres.size();i++){
			if(i==zeroidx && lres.get(i).val ==0 ){
				zeroidx++;
				continue;
			}
			res.append(lres.get(i).val);
			if (log)
				res2.append(lres.get(i).val+" ");
		}
		if(res.length()==0){
			res.append("0");
		}
		if(log)
			System.out.println(res2);

		return res.toString();
	}