您的位置:首页 > 其它

Summary Ranges

2015-06-27 00:33 357 查看
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:
vector<string> summaryRanges(vector<int>& nums) {
vector<string> result;
int n = nums.size();
if (n < 1)
{
return result;
}

int left = 0;
int right = 0;
char temp[100];
for (int i = 1; i < n; i++)
{
if (nums[i] == nums[right]+1)
{
right = i;
}
else
{
sprintf(temp, "%d", nums[left]);
string str(temp);
if (left != right)
{
sprintf(temp, "%d", nums[right]);
str += "->" + string(temp);
}
result.push_back(str);
left = right = i;
}
}
sprintf(temp, "%d", nums[left]);
string str(temp);
if (left != right)
{
sprintf(temp, "%d", nums[right]);
str += "->" + string(temp);
}
result.push_back(str);

return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: