zoukankan      html  css  js  c++  java
  • 剑指offer--21.链表中倒数第k个结点

    定义两个指针,当一个指针指到第K个结点时,第二个指针开始向后移动

    --------------

    时间限制:1秒 空间限制:32768K 热度指数:602826
    本题知识点: 链表

    题目描述

    输入一个链表,输出该链表中倒数第k个结点。
    /*
    struct ListNode {
        int val;
        struct ListNode *next;
        ListNode(int x) :
                val(x), next(NULL) {
        }
    };*/
    class Solution {
        public:
            ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
                if(pListHead==NULL||k==0) return NULL;
                int pos_pre = 1;
                ListNode* node_pre = pListHead, *node_tail = pListHead;
                while(node_tail->next != NULL) {
                    node_tail = node_tail->next;
                    pos_pre++;
                    if(pos_pre > k) {
                        node_pre = node_pre->next;
                    }
                }
                if(pos_pre < k) return NULL;
                return node_pre;
            }
    };
  • 相关阅读:
    20191017-1 每周例行报告
    20191010-2 每周例行报告
    20190919-1 每周例行报告
    彭思雨20190919-3效能分析
    zipfile
    subprocess
    configparser
    hashlib
    json & pickle
    headpq
  • 原文地址:https://www.cnblogs.com/langyao/p/10617072.html
Copyright © 2011-2022 走看看