首页 > 代码库 > LeetCode -- 删除链表中值为k的元素
LeetCode -- 删除链表中值为k的元素
本题目比較直接,一次遍历遇到匹配的元素直接删除(通过n.next = n.next.next)就能够了,仅仅是须要考虑到:
1.首节点的情况
2.末节点的情况
1.首节点的情况
2.末节点的情况
下面为实现:
public ListNode RemoveElements(ListNode head, int val) { // null list if(head == null){ return null; } // constains only one node if(head.next == null && head.val == val){ return null; } //remove first nodes while(head.val == val){ if(head.next == null){ break; } head = head.next; } var tmp = head; // nodes in between while(head.next != null){ if(head.next.val == val){ head.next = head.next.next; } else{ head = head.next; } if(head.next == null){ break; } } // last node if(head.val == val){ return null; } // restore head node head = tmp; return head; }
LeetCode -- 删除链表中值为k的元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。