本题源自leetcode 228
----------------------------------------------------------------------------------
思路: 遍历数组,如果相邻的连续就记录开始和结尾数字。
代码
vector<string> summaryRanges(vector<int>& nums) {
vector<string> res;
int n = nums.size();
if(n == 0)
return res;
for(int i = 0; i < n; i++){
int start = i, end = i;
while(end + 1 < n && nums[end] + 1 == nums[end + 1])
end++;
if(end > start)
res.push_back(to_string(nums[start]) + "->" + to_string(nums[end]));
else
res.push_back(to_string(nums[start]));
i = end;
}
return res;
}