228 Summary Ranges
Difficulty: Medium Given a sorted integer array without duplicates, return the summary of its ranges. For example, given [0,1,2,4,5,7], return [“0->2”,“4->5”,“7”].

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
 public List<String> summaryRanges(int[] nums) {
        // Ref : https://leetcode.com/discuss/42290/accepted-java-solution-easy-to-understand
        List<String> list = new ArrayList<String>();
        
       for (int i=0; i < nums.length; i++) {
           int num = nums[i];
           while (i +1 < nums.length && (nums[i+1] - nums[i]) == 1) {
             i++;
           }
           if (num != nums[i]) {
               list.add(num + "->" + nums[i]);
           } else {
               list.add(num + "");
           }
       }
       return list;
    }
}