class Solution {
public ListNode deleteNode(ListNode head, int val) {
if(head==null){
return null;
}
boolean find=false;
ListNode phead=new ListNode(-1);
phead.next=head;
ListNode slow=phead;
ListNode quick=phead.next;
while(quick!=null){
if(quick.val==val){
find=true;
break;
}
slow=slow.next;
quick=quick.next;
}
if(find){
slow.next=quick.next;
}
return phead.next;
}
}
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
// 通过改变指向删除节点
public ListNode deleteNode(ListNode head, int val) {
// 空链表
if (head == null) { return null; }
// 至少有一个节点
boolean find = false; // false表示没找到val,true表示找到了
// 新增头节点
ListNode phead = new ListNode(-1);
phead.next = head;
// slow指向要删除的节点的前驱,quick指向要删除的节点
ListNode slow = phead, quick = phead.next;
while (quick != null) {
if (quick.val == val) { // 找到了
find = true;
break;
}
slow = slow.next;
quick = quick.next;
}
// 如果没找到就不用删,返回原链表
if (!find) { return head; }
// 找到了要删,改变前驱指向即可
slow.next = quick.next;
return phead.next;
}
}
作者:zui-weng-jiu-xian
链接:https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/solution/shan-chu-lian-biao-de-jie-dian-shuang-zhi-zhen-100/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。