LeetCode 228. Summary Ranges 时间复杂度(O( n))

时间复杂度(O( n)),我的vc++6.0 对string 支持效果不太好,所以这题用了java

class Solution {
    public List<String> summaryRanges(int[] nums) {
        List<String> list = new ArrayList<>();
        if(nums.length==0)return list;
        String s = ""+nums[0];
        int start = nums[0];
        int end = nums[0];
        for(int i=1;i< nums.length;i++)
            if(nums[i]==nums[i-1]+1) end = nums[i];
            else{
                if(start==end) list.add(""+start);
                else list.add(""+start+"->"+end);
                start = nums[i];
                end = nums[i];
            }
        if(start==end) list.add(""+start);
        else list.add(""+start+"->"+end);
        return  list;
    }
}

猜你喜欢

转载自blog.csdn.net/ziyue246/article/details/81393109