首页 > 代码库 > LeetCode 26 Remove Duplicates from Sorted Array

LeetCode 26 Remove Duplicates from Sorted Array

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn‘t matter what you leave beyond the new length.

 

思路:

不允许申请额外空间,但是可以不用顾及返回长度之外的数组部分,因此,可以将返回部分的数组重新赋值为一个无重复值的数组,返回其长度。

 

解法:

 1 public class Solution 2 { 3     public int removeDuplicates(int[] nums) 4     { 5         if(nums.length <= 1) 6             return nums.length; 7  8         int len = 1; 9         for(int i = 1; i < nums.length; i++)10         {11             if(nums[i] != nums[i - 1])12             {13                 nums[len] = nums[i];14                 len++;15             }16         }17         18         return len;19     }20 }

 

LeetCode 26 Remove Duplicates from Sorted Array