JAVA 用双指针找倒数第n-1个节点
既然是删改链表,想都不想先把sentinal(stn)加到链表前方,这样边界问题处理轻松很多。
public class Solution {
/**
*
* @param head ListNode类
* @param n int整型
* @return ListNode类
*/
public ListNode removeNthFromEnd (ListNode head, int n) {
ListNode stn = new ListNode(0);
stn.next = head;
ListNode f = stn, s = stn;
while(n > 0) {
f = f.next;
n--;
}
while (f.next != null) {
f = f.next;
s = s.next;
}
s.next = s.next.next;
return stn.next;
}
}