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"].
思路:很简单的一道题,遍历一遍找到连续的存下就行了
public class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> res=new ArrayList<String>();
int start=-1;
int end=-1;
boolean flag=true;
for(int i=0;i<nums.length;i++){
if(flag){
start=nums[i];
end=nums[i];
flag=false;
continue;
}
if(nums[i]==end+1){
end++;
}else{
if(start==end){
res.add(String.valueOf(end));
}else{
String s=start+"->"+end;
res.add(s);
}
flag=true;
i--;
}
}
if(!flag){
if(start==end){
res.add(String.valueOf(end));
}else{
String s=start+"->"+end;
res.add(s);
}
}
return res;
}
}