19. [M] Remove Nth Node From End of List
https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/submissions/
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode p = dummy, c = dummy;
// input: [1,2] n = 2
// (dummy/p/c) -> (1) -> (2) -> (null)
for (int i = 0; i < n; i++) {
c = c.next;
}
// (dummy/p) -> (1) -> (2/c) -> (null)
while (c.next != null) {
c = c.next;
p = p.next;
}
// (dummy/p) -> (2/c) -> (null)
p.next = p.next.next;
return dummy.next;
}
}最后更新于