LeetCode Summary Ranges

Summary Ranges

题目

这里写图片描写叙述

思路

直接做

代码

class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) {
        vector<string> ans;
        if (nums.size() == 0) return ans;
        int startPosition = 0, nowPosition = 1;
        for (; nowPosition <= nums.size(); nowPosition++) {
            if (nowPosition == nums.size() || nums[nowPosition] > nums[nowPosition - 1] + 1) {
                if (startPosition != nowPosition - 1) {
                    ans.push_back(toS(nums[startPosition]) + "->" + toS(nums[nowPosition - 1]));
                }
                else {
                    ans.push_back(toS(nums[startPosition]));
                }
                startPosition = nowPosition;
            }
        }
        return ans;
    }
    string toS(int i) {
        char t[20];
        string s;
        sprintf(t, "%d", i);
        s = t;
        return s;
    }
};
原文地址:https://www.cnblogs.com/gavanwanggw/p/7049342.html