题目链接在此
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"].
to_string 可以把数字转成字符串,很方便。就不需要自己手写函数或者用itoa了。
class Solution {
public:
vector<string> summaryRanges(vector<int>& nums) {
vector<string> v;
if (nums.size() == 0)
return v;
int first = nums[0];
int last = nums[0];
string s = "" + to_string(first);
for (int i = 1; i < nums.size();i++) {
if (nums[i] == last + 1) {
last++;
}
else {
if (first != last)
s += "->" + to_string(last);
v.push_back(s);
first = last = nums[i];
s = "" + to_string(first);
}
}
if (first != last)
s += "->" + to_string(last);
v.push_back(s);
return v;
}
};