首页 > 其他 > 详细

链表中倒数第k个结点

时间:2014-02-23 17:18:45      阅读:426      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 #include "stdafx.h"
 2 #include <iostream>
 3 /*
 4 题目:链表中倒数第k个节点
 5     输入一个链表,输出该链表中倒数第k个结点.为了符合大多数人的习惯.本题从1开始计数,即链表的尾结点是倒数第一个结点。
 6     比如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6这个链表的倒数第三个结点是值为4的结点.
 7     struct ListNode
 8     {
 9         int m_nValue;
10         ListNode* m_pNext;
11     };
12 */
13 using namespace std;
14 struct ListNode
15     {
16         int m_nValue;
17         ListNode* m_pNext;
18     };
19 
20 ListNode* FindKthToTail(ListNode* pListHead,unsigned int k)
21 {
22     if(pListHead == NULL||k==0)
23     {
24         return NULL;
25     }
26     ListNode* pHead = pListHead;
27     ListNode* pBehind = NULL;
28     for(unsigned int i = 0;i<k-1;++i)
29     {
30         if(pHead->m_pNext!=NULL)
31         {
32             pHead = pHead->m_pNext;
33         }
34         else
35         {
36             return NULL;
37         }
38     }
39 
40     pBehind = pListHead;
41     while(pHead->m_pNext!=NULL)
42     {
43         pHead = pHead->m_pNext;
44         pBehind = pBehind ->m_pNext;
45     }
46     return pBehind;
47 }
48 int _tmain(int argc, _TCHAR* argv[])
49 { 
50     
51     return 0 ;
52 }
bubuko.com,布布扣

链表中倒数第k个结点

原文:http://www.cnblogs.com/crazycodehzp/p/3561599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!