Leetcode 228 Summary Ranges

来源:互联网 发布:全球域名注册局 编辑:程序博客网 时间:2024/05/16 14:46

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


public class Solution228 {    public List<String> summaryRanges(int[] nums) {        int n = nums.length;        List<String> result = new ArrayList<String>();        if(n <= 0) return result;        String str=""+nums[0];        for (int i = 1; i < n; i++) {            if(nums[i] - nums[i-1] <= 1 && nums[i]-nums[i-1] >= 0) {            }else {                if(Integer.parseInt(str) != nums[i-1]) {                    str+="->";                    str+=nums[i-1];                }                result.add(str);                str = ""+nums[i];            }        }        if(nums[n-1] != Integer.parseInt(str)) {            str += "->";            str += nums[n-1];        }        result.add(str);        return result;    }    public static void main(String[] args) {        Solution228 ans = new Solution228();        int[] nums = {-2147483648,-2147483647,2147483647};        List<String> res = ans.summaryRanges(nums);        for (String string:res) {            System.out.println(string);        }    }}


0 0