83.删除排序链表中的重复元素

题目描述:
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。

示例1:

image.png

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

示例2:

image.png

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

提示:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list

解法:

要注意判断头结点是否为空

代码:

var deleteDuplicates = function(head) {
    let p = head;
    while(p && p.next!=null){
        if(p.val == p.next.val){
            p.next=p.next.next;
        }else{
            p=p.next;
        }
    }
    return head;
};

执行结果:

image.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容