您的位置:首页 > 其它

LeetCode 26 Remove Duplicates from Sorted Array

2015-05-07 12:26 417 查看
题目

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.
翻译

给你一个有顺序的数组,除去重复的元素,不要用额外控件,返回只出现一次的个数

思路

从头遍历,因为数组是有顺序的,如果遇到当前元素和前一个元素不一样,则加入,否则继续遍历。

很简单的一道题。至于不用额外空间,直接用原来的数组位置操作即可。

代码

public static int removeDuplicates(int[] nums) {
        int count = 1;
		if(nums ==null ||nums.length == 0)
		{
			return 0;
		}
		for(int i = 1;i<nums.length;i++)
		{
			if(nums[i]!=nums[i-1])
				nums[count++] = nums[i];
		}
		return count;
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: