题目描写叙述
Find the nth to last element of a singly linked list.
The minimum number of nodes in list is n.
Example
Given a List 3->2->1->5->null and n = 2, return node whose value is 1.
链接地址
http://www.lintcode.com/en/problem/nth-to-last-node-in-list/
解法
ListNode *nthToLast(ListNode *head, int n) {
// write your code here
if (head == NULL || n < 0) {
// input is error
return head;
}
ListNode *first = head;
ListNode *second = head;
int i;
for ( i = 0; i < n && second != NULL; i++) {
second = second->next;
}
if (second == NULL && i < n) {
// Input is error
return NULL;
}
while (second != NULL) {
first = first->next;
second = second->next;
}
return first;
}