当前位置: 代码迷 >> 综合 >> 链表--双指针--求链表倒数第k个元素
  详细解决方案

链表--双指针--求链表倒数第k个元素

热度:21   发布时间:2024-01-20 03:10:22.0

求链表倒数第k个元素

思路:可以定义两个临时指针,一个快指针,一个慢指针,使快指针领先k步,然后慢指针再走,当快指针到末尾的时候,那么慢指针的位置就是倒数第k个指针了。

ListNode *findKthtoLast(ListNode *head,int k)
{if(head == NULL || k < 0)return head;ListNode *runner = head, *chaser = head;for(int i=0;i<k && runner != NULL;i++){runner = runner->next;}if(runner == NULL)return NULL;while(runner != NULL){chaser = chaser->next;runner = runner->next;}return chaser;
}

 

  相关解决方案