leetcode--Largest Number

来源:互联网 发布:office办公软件书籍 编辑:程序博客网 时间:2024/05/18 02:12

Given a list of non negative integers, arrange them such that they form the largest number.

For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.

Note: The result may be very large, so you need to return a string instead of an integer.

[java] view plain copy
  1. public class Solution {  
  2.     public String largestNumber(int[] nums) {  
  3.         ArrayList<Integer> arr = new ArrayList<>();  
  4.         for(int i=0;i<nums.length;i++){  
  5.             arr.add(nums[i]);  
  6.         }  
  7.         Collections.sort(arr, new Comparator<Integer>() {  
  8.             @Override  
  9.             public int compare(Integer o1, Integer o2) {                                  
  10.                 String str1 = o1+""+o2;  
  11.                 String str2 = o2+""+o1;  
  12.                 return str2.compareTo(str1);  
  13.             }  
  14.         });  
  15.         if(arr.get(0)==0return "0";  
  16.         StringBuilder sb = new StringBuilder();  
  17.         for(Integer i:arr){  
  18.             sb.append(i);  
  19.         }  
  20.         return sb.toString();         
  21.     }  

原文链接http://blog.csdn.net/crazy__chen/article/details/46574059

原创粉丝点击