leetCode #228 Summary Ranges

来源:互联网 发布:如何看java源码 编辑:程序博客网 时间:2024/05/17 01:46

题目:输出一组排好序的int数组的连续范围,

分析:找出连续的地方分段输出即可。

答案:

class Solution {public:    string formatRange(int startn,int endn){        char buffer[32];        if (startn == endn){            sprintf(buffer,"%d",startn);        }else{            sprintf(buffer,"%d->%d",startn,endn);        }        string res = buffer;        return res;    }        vector<string> summaryRanges(vector<int>& nums) {        vector<string> res;        if (nums.size()<1)            return res;        int startn = nums[0];        int endn = nums[0];        for(int i = 1; i < nums.size(); i++){            if (nums[i] == (endn +1)){                endn = nums[i];            }else{                res.push_back(formatRange(startn,endn));                startn = nums[i];                endn = nums[i];            }        }        res.push_back(formatRange(startn,endn));        return res;    }};

0 0
原创粉丝点击