虽然是一道简单的模拟题目,但是仍然可以从中学到一些东西。

当i循环的的变量会被j循环改变时,如何写for循环?

第一重循环不写循环的i++条件,完全由j决定;第二重循环的j这个时候就需要放在外面了……

class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) {
        //简单的模拟题目

        vector<string> ans;

        for(int i = 0; i < nums.size(); ) {
            string tmp = to_string(nums[i]);
            int j;
            for(j = i + 1; j < nums.size(); j++) {
                if(nums[j] != nums[j - 1] + 1)
                    break;
            }
            if(j != i + 1) {
                tmp += "->";
                tmp += to_string(nums[j - 1]);
            }
            ans.push_back(tmp);
            i = j;
        }

        return ans;
    }
};