Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given [0,1,2,4,5,7]
, return ["0->2","4->5","7"].
class Solution {
public:
string int2string(int a)
{
stringstream s;
s << a;
return s.str();
}
vector<string> summaryRanges(vector<int>& nums)
{
vector<string> v;
for(int i=0; i<nums.size();)
{
string tmp = int2string(nums[i]);
int j = i+1;
while(j < nums.size() && nums[j]-nums[j-1] == 1)
{
j++;
}
j--;
if(j == i)
{
v.push_back(tmp);
}
else
{
tmp += "->";
tmp += int2string(nums[j]);
v.push_back(tmp);
}
i = j+1;
}
return v;
}
};