Remove Duplicates from Sorted Array (Java)

来源:互联网 发布:怎么找淘宝套现商铺 编辑:程序博客网 时间:2024/06/10 22:12

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 A = [1,1,2],

Your function should return length = 2, and A is now [1,2].

置flag=1,前后两个元素比较,如果不一样,就存在flag位上并且flag++,如果一样,就指针后移接着比较。(本身值就是重复的,所以不存在被冲掉的情况) 注意:虽然返回值类型是int,但是A也要跟着变化,并非只是要统计不一样元素的个数。返回值是A的新长度,在这个length中存的必须是新的A的元素,即length之后是什么或者是否充满都不用管

Source

public class Solution {    public int removeDuplicates(int[] A) {        int flag = 1;if(A.length == 0) return 0;for(int i = 1; i < A.length; i++){if(A[i - 1] != A[i]){A[flag] = A[i];flag ++;}}return flag;    }}


0 0
原创粉丝点击