/**
* 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 s = new ListNode(-1);
s.next = head;
ListNode p = s;
ListNode q = s;
p = s.next.next;
while (q.next.val != val) {
p = p.next;
q = q.next;
}
q.next = p;
return s.next;
}
}
这个是快慢指针的方法,之前那个是递归方法
注意:返回时候要返回 哨兵结点的 next 结点,而不是 head 结点