@Override
        public int compare(Integer o1, Integer o2) {
            int pow1 = 10;
            while(pow1 <= o1){
                pow1 *= 10;
            }
            int pow2 = 10;
            while(pow2 <= o2){
                pow2 *= 10;
            }
            int r1 = o1*pow2 + o2;
            int r2 = o2*pow1 + o1;
            return r2 - r1;
        }
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.

https://leetcode.com/problems/largest-number/
src/com/interview/number/RearrangeNumberInArrayToFormLargestNumber.java