228. Summary Ranges
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章