228. Summary Ranges


做题历程:

  1. 2016/Oct/12 本题做了不止1次了,本次耗时9分钟独立解出

本题我没弄明白为什么是Medium题阿。。明明是Easy档次的问题。。。就是设定两个variable分别记录startend点即可,稍微注意点细节,但总体也不复杂,代码如下:

class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) {
        vector<string> result;
        if (nums.empty()) {
            return result;
        }
        int start = nums[0];
        int end = nums[0];

        for (int i = 1; i < nums.size(); ++i) {
            if (nums[i] - nums[i-1] == 1) {
                end = nums[i];
            }
            else {
                if (start == end) {
                    result.push_back(to_string(start));
                }
                else {
                    result.push_back(to_string(start) + "->" + to_string(end));
                }
                start = nums[i];
                end = nums[i];
            }
        }
        if (start == end) {
            result.push_back(to_string(start));
        }
        else {
            result.push_back(to_string(start) + "->" + to_string(end));
        }

        return result;
    }
};

results matching ""

    No results matching ""