一、删除链表中的重复元素
说明:存在一个按照升序排列的链表,给你这个链表的头结点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;
}
|