class Solution {
public:
vector<string> summaryRanges(vector<int>& nums) {
vector<string> res;
if(nums.empty()) return res;
int first(0);
for(int i = 0; i < nums.size(); ++i){
if(i == nums.size()-1 || nums[i+1] > nums[i] + 1){//出现新的子段
string tmp_res;
tmp_res += num2string(nums[first]);
if(i > first){
tmp_res += "->";
tmp_res += num2string(nums[i]);
}
res.push_back(tmp_res);
first = i+1;
}
}
return res;
}
string num2string(int num){
stringstream s;
string line;
s << num;
s >> line;
return line;
}
};LeetCode之Summary Ranges
最新推荐文章于 2024-10-06 20:57:13 发布
本文详细解析了一个C++模板类如何实现区间表示法,包括内部构造、成员函数设计以及使用示例,旨在帮助开发者理解并应用这一概念。
366

被折叠的 条评论
为什么被折叠?



