问题描述:
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”].
分析:寻找初始点和断点。然后将二者连接。注意如果初始点和断点相同,不用使用->
代码如下:320ms
public class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> res = new LinkedList<>();
for(int i = 0;i<nums.length;i++){
int front = nums[i];
String s = Integer.toString(front);
while(i+1<nums.length && nums[i+1]==nums[i]+1) i++;
if(nums[i]!=front){
res.add(s+"->"+Integer.toString(nums[i]));
}else{
res.add(s);
}
}
return res;
}
}