Leetcode 题目解析之 Summary Ranges

2022-01-10 20:10:39 浏览数 (4)

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".

Credits:

Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

代码语言:txt复制
    public List<String> summaryRanges(int[] nums) {
        List<String> rt = new ArrayList<String>();
        if (nums == null || nums.length == 0) {
            return rt;
        }
        for (int i = 0; i < nums.length; i  ) {
            int st = nums[i];
            int ed = st;
            while (i   1 < nums.length && nums[i   1] - ed == 1) {
                i  ;
                ed  ;
            }
            if (ed == st) {
                rt.add(st   "");
            } else {
                rt.add(st   "->"   ed);
            }
        }
        return rt;
    }

1 人点赞