删除链表中的重复元素

  • Definition for singly-linked list.
  • function ListNode(val) {
  • this.val = val;
    
  • this.next = null;
    
  • }
  • @param {ListNode} head
  • @return {ListNode}
    */
    要求:删除一个排序链表中的重复数据
    思路:从表头遍历,因为链表已经排序只需要删除相邻的值即可
var deleteDuplicates = function(head) {
   // 头部为空的情况下直接返回空数组
  if(!head) return []
    //q为头部
    var q = head
    var p;
    while(q.next){
        //p为当前节点
        p = q
        //q为后继节点
        q = p.next
        if(p.val === q.val){
            //如果p与q值相等,把前一个元素的指针指向 下一个元素的子元素
            p.next = q.next
            //q回退到p
            q = p
        }
    }
    return head
};    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容