给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。

    示例 1:
    输入:head = [1,1,2]
    输出:[1,2]

    示例 2:
    输入:head = [1,1,2,3,3]
    输出:[1,2,3]

    因为链表是排序的,若有重复,则只会相邻结点重复,所以只要比较相邻的结点是否相同即可,若有相同的,则删除掉一个
    image.png

    1. /**
    2. * 删除排序链表中的重复元素
    3. * 因为链表是排序的,若有重复,则只会相邻结点重复
    4. * 若相邻结点有重复,则删除掉一个
    5. *
    6. * @param head
    7. * @return
    8. */
    9. public ListNode deleteDuplicates(ListNode head) {
    10. ListNode cur = head;
    11. while (cur != null && cur.next != null) {
    12. if (cur.val == cur.next.val) {
    13. cur.next = cur.next.next;
    14. } else {
    15. cur = cur.next;
    16. }
    17. }
    18. return head;
    19. }