zoukankan      html  css  js  c++  java
  • [剑指Offer] 14.链表中倒数第k个结点

    【思路】利用两个相隔为k-1个结点的指针进行遍历,当后一个指针移到末尾时,前一个指针就是要求的结点。

     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         
    15         ListNode* p = pListHead;
    16         ListNode* q = pListHead;
    17         
    18         for(int i = 0;i < k - 1;i ++){
    19             if(q->next != NULL)
    20                 q = q->next;
    21             else
    22                 return NULL;
    23         }
    24         
    25         while(q->next != NULL){
    26             q = q->next;
    27             p = p->next;
    28         }
    29         return p;
    30     }
    31 };
  • 相关阅读:
    harbor docker
    dns服务器
    k8s
    frps
    svn 搭建
    phpstrom 破解 转载https://www.jianshu.com/p/e71361b3bfee
    公开课
    k8s
    rsync各种备份
    定时任务
  • 原文地址:https://www.cnblogs.com/lca1826/p/6474668.html
Copyright © 2011-2022 走看看