首页 > 代码库 > 228. Summary Ranges
228. Summary Ranges
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"].
这个题目不难,首先对原序列进行排序,然后要注意对特殊情况的处理。同时,要掌握string类的几个重要成员函数:
- to_string():将数字转换为string对象
- append():向string对象追加字符串
class Solution { public: vector<string> summaryRanges(vector<int>& nums) { int n = nums.size(); if (n == 0) return vector<string>(); vector<string> res; sort(nums.begin(), nums.end()); for (int i = 0, j = 0; i <= j && j <= n-1; ) { while (j <= n-2 && nums[j+1] == nums[j] + 1) { ++j; } string tmp; if (j > i) { tmp.append(to_string(nums[i])); tmp.append("->"); tmp.append(to_string(nums[j])); ++j; i = j; } else { tmp.append(to_string(nums[i])); ++i; ++j; } res.push_back(tmp); } return res; } };
228. Summary Ranges
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。