[LeetCode]Largest Number

public class Solution {
    public String largestNumber(int[] nums) {
        int length = nums.length;
        Queue<String> queue = new PriorityQueue<String>(length, new Comparator<String>() {
            public int compare(String s1, String s2) {
                return Long.valueOf(s1 + s2) - Long.valueOf(s2 + s1) > 0 ? 1 : -1;
            }
        });
        for (int num : nums) {
            queue.offer(String.valueOf(num));
        }
        StringBuffer result = new StringBuffer("");
        while (!queue.isEmpty()) {
            result.insert(0, queue.poll());
        }
        if (result.charAt(0) == '0') {
            return "0";
        }
        return String.valueOf(result);
    }
}

 

posted @ 2015-12-05 09:19  Weizheng_Love_Coding  阅读(109)  评论(0)    收藏  举报