在末尾加一个INF
巧妙解决所有问题
class Solution {
public:
vector<string> ans;
string summary(int l, int r) {
stringstream ss;
string t;
if (l == r) {
ss << l;
ss >> t;
} else {
ss << l;
ss << "->";
ss << r;
ss >> t;
}
return t;
}
vector<string> summaryRanges(vector<int>& nums) {
int INF = INT_MAX;
nums.push_back(INF);
int l = nums[0], r;
for (int i = 1; i < nums.size(); i++) {
if (nums[i] != nums[i - 1] + 1) {
r = nums[i - 1];
ans.push_back(summary(l, r));
l = nums[i];
}
}
return ans;
}
};