Given a linked list, remove the nth node from the end of list and return its head.
For example,
Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5.public class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode res = head;
int len = 0;
ListNode ahead = head;
while(ahead!=null){
len++;
ahead = ahead.next ;
}
if(n>len) return null;
if(len==n){
return head.next;
}
for(int i = 1;i<len-n;i++){
head = head.next;
}
head.next = head.next.next;
return res;
}
}