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

    示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3

    注意⚠️:链表的遍历用while

    1. /**
    2. * @param {ListNode} head
    3. * @return {ListNode}
    4. */
    5. const deleteDuplicates = function(head) {
    6. // 设定 cur 指针,初始位置为链表第一个结点
    7. let cur = head;
    8. // 遍历链表
    9. while(cur != null && cur.next != null) {
    10. // 若当前结点和它后面一个结点值相等(重复)
    11. if(cur.val === cur.next.val) {
    12. // 删除靠后的那个结点(去重)
    13. cur.next = cur.next.next;
    14. } else {
    15. // 若不重复,继续遍历
    16. cur = cur.next;
    17. }
    18. }
    19. return head;
    20. };