Given a sorted integer array without duplicates, return the summary of its ranges.
Example 1:
Input: [0,1,2,4,5,7]
Output: ["0->2","4->5","7"]
Explanation: 0,1,2 form a continuous range; 4,5 form a continuous range.
Example 2:
Input: [0,2,3,4,6,8,9]
Output: ["0","2->4","6","8->9"]
Explanation: 2,3,4 form a continuous range; 8,9 form a continuous range.
代码
Approach #1
classSolution {publicList<String> summaryRanges(int[] nums) {List<String> summary =newArrayList<>();int start =0;for (int j =0; j <nums.length; ++j){ start = j;// try to extend the range [nums[i], nums[j]]while (j +1<nums.length&& nums[j +1] == nums[j] +1)++j;// put the range into the listif (start == j)summary.add(nums[start] +"");elsesummary.add(nums[start] +"->"+ nums[j]); }return summary; }}