80. 删除有序数组中的重复项 II

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

80. 删除有序数组中的重复项 II_第1张图片 解题思路:因为数组有序,相等的元素一定相邻,所以可以使用一个变量num统计相等元素的个数,如果当前元素和前一个元素相等,令num++。另外使用一个变量len记录删除后数组的新长度,如果当前正在遍历的元素出现的次数小于等于2,就令nums[len++] = nums[i],否则的话直接跳过这个元素,如果当前元素和前面的元素不相等,就令num=0,重新进行计数,最终len就是返回的结果

AC代码

class Solution {
    public int removeDuplicates(int[] nums) {
        int len=1;
        int num = 0;
        for (int i =1;i

80. 删除有序数组中的重复项 II_第2张图片

 

你可能感兴趣的:(LeetCode_Java版,算法,leetcode,数据结构,力扣,java)