链表oj----移除链表元素
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表oj----移除链表元素相关的知识,希望对你有一定的参考价值。
题目内容:
方法一:(把空链表和若要删除的是头节点,单独拿出来判断)
if(head == null){
return null;
}
ListNode prev = head;
ListNode cur = head.next;
while(cur != null){
if(cur.val == val){
prev.next = cur.next;
cur = cur.next;
}else{
prev = cur;
cur = cur.next;
}
}
if(head.val == val){
head = head.next;
}
return head;
方法二:(把只需要把链表是否为空进行判断)(逻辑性强)
if(head == null){
return head;
}
ListNode cur = head;
ListNode prev = null;
while(cur != null){
if (cur.val == val){
//删除节点
if (head.val == val){ //删除头节点
head = head.next;
cur = head;
}else{ //删除非头节点
prev.next = cur.next;
cur = prev.next;
}
}else{
//不删除节点
prev = cur;
cur = cur.next;
}
}
return head;
以上是关于链表oj----移除链表元素的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第三天 | 203.移除链表元素707.设计链表 206.反转链表