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

    输入一个链表,输出该链表中倒数第k个结点。

    p1先走k-1步,p1 p2再一起走

    C++:

     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         if (pListHead == NULL || k == 0)
    13             return NULL ;
    14         ListNode* p1 = pListHead ;
    15         ListNode* p2 = pListHead ;
    16         for(unsigned int i = 0 ; i < k-1 ; i++){
    17             if (p1->next != NULL){
    18                 p1 = p1->next ;
    19             }else{
    20                 return NULL ;
    21             }
    22         }
    23         while(p1->next != NULL){
    24             p1 = p1->next ;
    25             p2 = p2->next ;
    26         }
    27         return p2 ;
    28     }
    29 };
  • 相关阅读:
    软件测试工具
    Linux笔记
    Google Test
    字典dict()
    元组tuple 可迭代对象
    列表list
    一些总结
    format()
    列表list
    format() expandtabs() 输入表格数据
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/8931232.html
Copyright © 2011-2022 走看看