美文网首页
链表中倒数第k个结点

链表中倒数第k个结点

作者: Crazy_Bear | 来源:发表于2020-07-29 11:52 被阅读0次
  • 输入一个链表,输出该链表中倒数第k个结点。
  • 两个指针,一个指针先走k步,之后另外一个指针再走
  • C++ 代码
/*
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(k==0) return NULL;
        if(!pListHead) return NULL;
         ListNode *p,*q;
         q=pListHead;
         for(unsigned int i=1;i<k;i++)
             if(q->next!=NULL)q=q->next;
               else return NULL;
          p=pListHead;
          while(q->next!=NULL)
          {
              p=p->next;
              q=q->next;
          }
        return p;
    }
};

相关文章

网友评论

      本文标题:链表中倒数第k个结点

      本文链接:https://www.haomeiwen.com/subject/bwdjlktx.html