题目:
我的解法:
class Solution {
public List<String> summaryRanges(int[] nums) {
int n = nums.length;
List<String> ans = new ArrayList<String>();
if(n==0){
return ans;
}
int start = 0;
int end = 0;
for(int i=1; i<n; i++){
if(nums[i] == nums[i-1]+1){
end++;
}else{
if(end==start){
ans.add(Integer.toString(nums[start]));
}else{
ans.add(Integer.toString(nums[start])+"->"+Integer.toString(nums[end]));
}
start = i;
end = i;
}
}
if(end==start){
ans.add(Integer.toString(nums[start]));
}else{
ans.add(Integer.toString(nums[start])+"->"+Integer.toString(nums[end]));
}
return ans;
}
}
官方题解:
class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> ret = new ArrayList<String>();
int i = 0;
int n = nums.length;
while (i < n) {
int low = i;
i++;
while (i < n && nums[i] == nums[i - 1] + 1) {
i++;
}
int high = i - 1;
StringBuffer temp = new StringBuffer(Integer.toString(nums[low]));
if (low < high) {
temp.append("->");
temp.append(Integer.toString(nums[high]));
}
ret.add(temp.toString());
}
return ret;
}
}
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/summary-ranges/solution/hui-zong-qu-jian-by-leetcode-solution-6zrs/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。