leetcode每日一题(203.移除链表的元素)
Posted 猿猿HHH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode每日一题(203.移除链表的元素)相关的知识,希望对你有一定的参考价值。
思路:Java中的链表节点的后继节点是它内部定义的一个属性,所以,要删除它的后继节点,只需把节点的后继节点属性赋值为后继节点的后继节点即可;
如删除list的下一个节点:
list.next = list.next.next;//注意:list.next!=null
考虑到返回值,可以使用浅拷贝的方式,即list=head,然后在list上操作,把head作为返回值
提交代码如下:
class Solution {
public ListNode removeElements(ListNode head, int val) {
if(head==null) return head;
ListNode list = head;
while(list.next!=null){
if(list.next.val==val) list.next = list.next.next;
else list = list.next;
}
return head.val==val? head.next:head;
}
}
提交结果:
以上是关于leetcode每日一题(203.移除链表的元素)的主要内容,如果未能解决你的问题,请参考以下文章