zoukankan      html  css  js  c++  java
  • 链表中倒数第k个结点

     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 }
  • 相关阅读:
    Python日期和时间
    Python实现ATM
    XML的ElementTree解析方式
    Python多线程
    Python文件操作
    Python错误和异常
    Python基础第四课
    html页面引入另一个html页面
    微信直播video安卓端始终在最顶层的解决方法
    设计模式之 外观模式
  • 原文地址:https://www.cnblogs.com/crazycodehzp/p/3561599.html
Copyright © 2011-2022 走看看