leetcode--Remove Duplicates from Sorted List

本文介绍了一种算法,用于从已排序的链表中删除重复节点,确保每个元素仅出现一次。此外,还提供了一个示例程序,展示了如何从整数数组中移除重复项,并保留唯一值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if(head==null||head.next==null) return head;
        ListNode curr=head;
        while(curr.next!=null){
            if(curr.val==curr.next.val){
                curr.next=curr.next.next;
            }
            else{
                curr=curr.next;
            }
        }
    return head;
    }
}

拓展。删除数字中的重复数字。:

package test;

import java.util.ArrayList;

public class deleteDumpleNum {

    private static ArrayList deleDump(int[] a) {
        ArrayList<Integer> res = new ArrayList<Integer>();
        if (a.length == 1) {
            res.add(a[0]);
            return res;
        } else {
            res.add(a[0]);
            for (int i = 1; i < a.length; i++) {
                if (a[i] != a[i - 1]) {
                    res.add(a[i]);
                }
            }
        }
        return res;

    }

    public static void main(String[] args) {
        int[] a = { 1, 2, 3, 4, 5, 5, 6 };
        ArrayList<Integer> out = deleDump(a);
        for (int i = 0; i < out.size(); i++) {
            System.out.print(out.get(i) + "\t");
        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值