美文网首页
删除链表中的重复元素

删除链表中的重复元素

作者: linchih | 来源:发表于2017-05-03 23:09 被阅读0次
  • 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
};    

相关文章

网友评论

      本文标题:删除链表中的重复元素

      本文链接:https://www.haomeiwen.com/subject/ldzhtxtx.html