【数组】228. 汇总区间

题目:

 

 

解答:

就很简单的遍历一遍...中间判断数字是否连续。

 1 class Solution {
 2 public:
 3     vector<string> summaryRanges(vector<int>& nums) 
 4     {
 5         vector<string> ans;
 6         for(int i = 0; i < nums.size(); i++)
 7         {
 8             string str = to_string(nums[i]);
 9             int pos = i;
10             while(i < nums.size() - 1 && nums[i] + 1 == nums[i+1]) 
11             {
12                 i++; //数字连续
13             }
14             if(pos != i) 
15             {
16                 //若有增加
17                 str += "->" + to_string(nums[i]);
18             }
19             ans.push_back(str);
20         }
21         return ans;
22     }
23 };

 

posted @ 2020-05-05 16:56  梦醒潇湘  阅读(134)  评论(0)    收藏  举报