当第二个指针指到空时,第一个指针即为所求。
#include <iostream> struct Node { int data; Node* next; }; void initList(Node* vNode) { for (int i=0; i < 20; ++i) { Node* TempNode = new Node; TempNode->data = i; TempNode->next = vNode->next; vNode->next = TempNode; } } Node* getNthBackWards(const Node* vNode, int vN) { if (vN < 1 || vNode == NULL) return NULL; Node* p = vNode; Node* q = vNode; while (vN>0) { ++q; if (q == NULL) return NULL; --vN; } while (q != NULL) { ++q; ++p; } return p; } int main() { Node* Root = new Node; Root->next = NULL; initList(Root); Node* Result = getNthBackWards(Root, 7); std::cout << Result->data << std::end; return 0; }
实现一个算法从一个单链表中返回倒数第n个元素(keep it up),布布扣,bubuko.com
实现一个算法从一个单链表中返回倒数第n个元素(keep it up)
原文地址:http://blog.csdn.net/xiaoliangsky/article/details/38671377