剑指 Offer 18. 删除链表的节点 #
题目 #
给定单链表的头指针和一个要删除的节点的值,定义一个函数删除该节点,返回删除后的链表的头节点。链表中节点的值互不相同。
思路 #
代码 #
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
class Solution {
public ListNode deleteNode(ListNode head, int val) {
if (head.val == val) return head.next;
ListNode ptr = head;
while (ptr.next.val != val) ptr = ptr.next;
ptr.next = ptr.next.next;
return head;
}
}