关闭

LeetCode OJ 之 Summary Ranges

222人阅读 评论(0) 收藏 举报
分类:

题目:

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"].

把连续的转化成0->2这种形式存储在string里。

思路:


代码:

class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) 
    {
        vector<string> result;
        string path;
        int len = nums.size();
        if(len == 0)
            return result;
        int i = 0 ;
        for(; i < len-1 ; i++)
        {
            if(nums[i] != nums[i+1] - 1)
            {
                //如果path之前非空,则加上->,如果为空,则只有一个字符
                if(path != "")
                    path += "->";
                path += to_string(nums[i]);
                result.push_back(path);
                path.clear();
            }
            else
                //如果path之前为空,则把当前数字作为开头
                if(path == "")
                    path = to_string(nums[i]);
        }
        //加上最后一个数字
        if(path != "")
            path += "->";
        path += to_string(nums[i]);
        result.push_back(path);
        return result;
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:177967次
    • 积分:5842
    • 等级:
    • 排名:第4539名
    • 原创:419篇
    • 转载:30篇
    • 译文:0篇
    • 评论:15条
    联系方式
      QQ
      100-9527-128
      Email
      seucc@139.com
    新浪微博