首页 > 代码库 > 单链表的删除
单链表的删除
单链表的删除,就是找到链表节点的前面一个节点,将其与待删节点的下一个节点连接,待删节点断链
function remove(head,val){ var pre = head; while(pre.next && pre.next.val != val){ pre = pre.next; } if(pre == null){ return; } if(pre.next != null){ pre.next = pre.next.next; } }
另一种删除方法,已知链表的头节点和待删节点,将待删节点的值赋为下一个节点的值,如果节点为末尾节点(非null),则需找到其前面的节点,将其与待删节点断链
总体时间复杂度仍然为O(1)
function delete(head,node){ if(node == null){ return; } if(node.next != null){ node.val = node.next.val; var temp = node.next; node.next = node.next.next; temp.next = null; temp = null; } else{ if(head == node){ head = null; } else{ var pre = head; while(pre.next && pre.next.val != node.val){ pre = pre.next; } if(pre! = null){ pre.next = null; } } } }
单链表的删除
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。