import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ public ListNode deleteDuplicates (ListNode head) { ListNode current = head; // 当前节点 while (current != null && current.next != null) { if (current.val == current.next.val) { current.next = current.next.next; // 删除下一个节点 } else { current = current.next; // 继续遍历下一个节点 } } return head; // 返回头节点 } }
本题知识点分析:
1.链表遍历
2.节点赋值
本题解题思路分析:
1.如果发现值重复,那么让当前节点指向下下个节点,就相当于删除
2.如果不重复,那么就继续遍历下一个节点