链表中倒数第k个结点
题目描述
输入一个链表,输出该链表中倒数第k个结点。
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution { 10 public: 11 ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { 12 13 if(pListHead == NULL) return NULL; 14 15 ListNode* p1=NULL; 16 ListNode* p2=pListHead; 17 int flag=0; 18 int num=0; 19 while(p2) 20 { 21 22 23 if(flag==0) 24 { 25 num++; 26 if(num == k) 27 { 28 flag=1; 29 p1=pListHead; 30 } 31 } 32 else 33 { 34 p1=p1->next; 35 } 36 p2=p2->next; 37 } 38 return p1; 39 } 40 };