LeetCode Exercise 15: Summary Ranges
来源:互联网 发布:知乎 发现 编辑:程序博客网 时间:2024/05/21 17:04
题名:Summary Ranges
难度:Medium
题目描述:
代码如下:
class Solution {public: vector<string> summaryRanges(vector<int>& nums) { int n = nums.size(); vector<string> ranges; if(n == 0){ return ranges; } for(int i = 0; i < n;){ int begin = i, end = i; while(end + 1 < n && nums[end+1] == nums[end] + 1){ end++; } if(end > begin){ ranges.push_back(to_string(nums[begin]) + "->" +to_string(nums[end])); } else{ ranges.push_back(to_string(nums[begin])); } i = end + 1; } return ranges; }};
个人体会:
很中规中矩的一道题,因为ranges只需要两端的数字,判断是否连续也很简单,因此只要设置两个变量保存范围两端的数字即可。C++中int类型转化为string类型用to_string()函数。
阅读全文