228. Summary Ranges

来源:互联网 发布:知乎中文夹杂英文 编辑:程序博客网 时间:2024/06/07 06:38
class Solution {public:    vector<string> summaryRanges(vector<int>& nums) {        vector<string> ret;        if(nums.size()==0)            return ret;        if(nums.size()==1)        {            string temp;            temp+=to_string(nums[0]);            ret.push_back(temp);            return ret;        }        int start=nums[0];        int end=nums[0];        for(int i=1;i<nums.size();i++)        {            long temp=long(nums[i])-long(nums[i-1]);            if(temp==1)            {                end=nums[i];            }            if(temp>1)            {                if(end==start)                {                    string temp;                    temp+=to_string(start);                    ret.push_back(temp);                }                else                {                    string temp;                    temp+=to_string(start);                    temp+="->";                    temp+=to_string(end);                    ret.push_back(temp);                }                end=start=nums[i];            }            if(i==nums.size()-1)            {                if(end==start)                {                    string temp;                    temp+=to_string(start);                    ret.push_back(temp);                }                else                {                    string temp;                    temp+=to_string(start);                    temp+="->";                    temp+=to_string(end);                    ret.push_back(temp);                }            }        }        return ret;    }};
1 0