[leetcode]228. Summary Ranges

来源:互联网 发布:淘宝黑方假酒 编辑:程序博客网 时间:2024/06/06 12:09
class Solution {public:    vector<string> summaryRanges(vector<int>& nums)     {        int n=nums.size();        vector<string> ret;        string s="";                int i=0;int j=0;        while(i<n&&j<n)        {                while(j<n-1 && nums[j+1]-nums[j]==1)                {                    j++;                }                if(j+1==n-1)//考虑最后一个数的情形                {                    if(nums[j+1]-nums[j]==1)                        j+=1;                }                                if(j>i)                {                     s=ToString(nums[i])+"->"+ToString(nums[j]);                 }                else //j==i                {                    s=ToString(nums[j]);                }                ret.push_back(s);                i=j+1;                j=i;               }        return ret;    }    string ToString(long long int n)//类型转换函数    {        string str;        if(n<0)//考虑负数的情形        {            str.push_back('-');            n=-n;        }        string str1;        while(1)        {            int b=n%10;            str1.push_back(b+48);//'0'+?            n=n/10;            if(n==0)                break;        }        while(!str1.empty())        {            str.push_back(str1.back());//逆置            str1.pop_back();        }        return str;    }};

0 0
原创粉丝点击