题目
定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
注意:此题对比原题有改动
题目地址:剑指 Offer 18. 删除链表的节点 - 力扣(LeetCode)
方法
删除一个节点其实就是让这个节点的上一个节点 指向 这个节点的下一个节点即可
代码
/**
* 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) {
ListNode p = head;
if(p.val == val)return head.next;
while(p.next != null){
if(p.next.val == val){
p.next = p.next.next;
return head;
}
p = p.next;
}
return head;
}
}