Sword se refiere a la oferta 18. Elimina el nodo de la lista vinculada
Descripción del Título
Ideas para resolver problemas
Puntero doble
/**
* 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.val == val) return head.next;
//双指针
ListNode pre = head, cur = head.next;
while (cur != null && cur.val != val) {
pre = pre.next;
cur = cur.next;
}
if (cur != null) {
pre.next = cur.next;
}
return head;
}
}