class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> res = new ArrayList<>();
if(nums.length==0) return res;
int L=nums[0],R=nums[0],i;
for(i=1;i<nums.length;i++){
if(nums[i]-nums[i-1]!=1){
R=nums[i-1];
if(L==R){
res.add(L+"");
}else{
res.add(L+"->"+R);
}
L=nums[i];
R=L;
}
}
R=nums[i-1];
if(L==R){
res.add(L+"");
}else{
res.add(L+"->"+R);
}
return res;
}
}
class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> res = new ArrayList<>();
if(nums.length==0) return res;
for(int i=0;i<nums.length;i++){
int index=i;
while(index<nums.length-1&&nums[index]+1==nums[index+1]){
index++;
}
if(i==index){
res.add(nums[i]+"");
}else{
res.add(nums[i]+"->"+nums[index]);
}
i=index;
}
return res;
}
}
我本来以为能优化一下,代码本质道理是一样的,只是看能不能减少判断条件