December 28, 2019

228. Summary Ranges

228. Summary Ranges

Time = O(n), Space = O(1)

class Solution {
    public List<String> summaryRanges(int[] nums) {
        List<String> res = new ArrayList<>();
        int i = 0;
        while (i < nums.length) {
            int j = i;
            while (j < nums.length - 1 && nums[j] + 1 == nums[j + 1]) {
                j++;
            }
            if (i == j) {
                res.add(String.valueOf(nums[i]));
                i++;
            } else {
                res.add(String.valueOf(nums[i]) + "->" + String.valueOf(nums[j]));
                i = j + 1;
            }
        }
        return res;
    }
}
comments powered by Disqus