0
点赞
收藏
分享

微信扫一扫

【力扣LeetCode】java算法刷题大全第7题之删除链表中重复元素

船长_Kevin 2022-04-29 阅读 82
java

一、删除链表中的重复元素

说明:存在一个按照升序排列的链表,给你这个链表的头结点head,请你删除所有重复的元素,使每个 元素只出现一次 返回同样按照升序排列的结果链表

package com.example.dzx.datastrctet;

/**
 * @author 500007
 * @ClassName:
 * @Description: 删除链表中重复的元素
 * @date 2022年04月25日 10:00:14
 */
public class DeleteRepeat {

    /**
     * 删除链表中重复的元素
     * 说明:存在一个按照升序排列的链表,给你这个链表的头结点head,请你删除所有重复的元素,使每个
     * 元素只出现一次
     * 返回同样按照升序排列的结果链表
     */

    /**
     * 解法一:直接while循环元素比较法
     * @param li
     * @return
     */
    public ListNode deleteRepeat(ListNode li) {
        if (li == null) return li;
        while (li.next != null) {
            if (li.value == li.next.value) {
                //如果当前值和下一个元素的值相同,则跳过下一个元素。直接将当前元素的指针指向下下一个元素
                li.next = li.next.next;
            } else {
                //如果当前值和下一个元素值不同,则无需跳过,直接遍历下一个元素
                li = li.next;
            }
      
举报

相关推荐

0 条评论