228. Summary Ranges

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"].
使用范围的方式描述一个已排序的数组。
很直接的实现,使用begin来标记当前范围的起点,每遍历到一个位置就看下一个是不是比当前只增1,是的话index继续后移begin不变,不是的话说明当前范围已经结束,输出一个结果,begin和index都指向下一个位置,找新的范围:

var summaryRanges = function(nums) {
    var num = nums.length;
    if (num===0) return [];
    var res = [];
    var begin = 0;
    var index = 0;
    while(index+1' + nums[index]);
            }
            begin = index + 1;
        }
        index++;
    }
    if (begin === index) {
        res.push("" + nums[index]);
    } else {
        res.push(nums[begin] + '->' + nums[index]);
    }
    return res;
};

你可能感兴趣的:(228. Summary Ranges)