Solution
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode tmpNode = new ListNode(0);
tmpNode.next = head;
ListNode firstNode = tmpNode;
ListNode secondNode = tmpNode;
for(int i = 0; i < n; i++) {
secondNode = secondNode.next;
}
while(secondNode.next != null) {
firstNode = firstNode.next;
secondNode = secondNode.next;
}
firstNode.next = firstNode.next.next;
return tmpNode.next;
}
}