简单的模拟题,合并区间
class Solution { public: string convertIntToStr(int num) { char str[255]; sprintf(str, "%d", num); return str; }</p> <pre><code>vector&lt;string&gt; summaryRanges(vector&lt;int&gt;&amp; nums) { vector&lt;string&gt; ranges; ranges.clear(); if (nums.size() &lt;= 0) { return ranges; } int start = nums[0]; int end = nums[0]; for (int i = 1;i &lt; nums.size(); i++) { if (nums[i] - nums[i-1] == 1) { end = nums[i]; } else { string item = convertIntToStr(start); if (end == start) { ranges.push_back(item); } else { item += &quot;-&gt;&quot;; item += convertIntToStr(end); ranges.push_back(item); } start = nums[i]; end = start; } } string item = convertIntToStr(start); if (end == start) { ranges.push_back(item); } else { item += &quot;-&gt;&quot;; item += convertIntToStr(end); ranges.push_back(item); } return ranges; } </code></pre> <p>};