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

    示例 1:
    image.png

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

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

    提示:

    链表中节点数目在范围 [0, 300] 内
    -100 <= Node.val <= 100
    题目数据保证链表已经按升序 排列


    1. /**
    2. * Definition for singly-linked list.
    3. * public class ListNode {
    4. * int val;
    5. * ListNode next;
    6. * ListNode() {}
    7. * ListNode(int val) { this.val = val; }
    8. * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
    9. * }
    10. */
    11. class Solution {
    12. public ListNode deleteDuplicates(ListNode head) {
    13. if (head == null) return null;
    14. ListNode tem = head;
    15. while (tem != null && tem.next != null) {
    16. //改变next指针
    17. if (tem.val == tem.next.val)
    18. tem.next = tem.next.next;
    19. else
    20. tem = tem.next;
    21. }
    22. return head;
    23. }
    24. }