leetcode_summary_ranges 发表于 2016-12-09 难度:Meidum 遍历数组,维持一个start、一个end,查看当前元素与end+1是否相等。相等,则继续;不相等,则push进结果集,重新记下start和end。 1234567891011121314151617181920212223242526class Solution {public: vector<string> summaryRanges(vector<int>& nums) { vector<string> ret; if (nums.size() == 0) return ret; int start = nums[0]; int end = nums[0]; for(int i = 1; i < nums.size(); i++) { if(nums[i] == end+1) { end = end+1; } else { string s = (start != end)?(to_string(start)+"->"+to_string(end)):to_string(start); ret.push_back(s); start = nums[i]; end = nums[i]; } } string s = (start != end)?(to_string(start)+"->"+to_string(end)):to_string(start); ret.push_back(s); return ret; }}; 0ms,8.04%