标签:http bsp 节点 题目 odi int ota 两个指针 nod
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
解题思路:快慢指针
快指针先走K步,之后两个指针同时前进,当快指针走出尾结点后,慢指针距离尾结点的距离为K-1,即是倒数第K个节点
public ListNode FindKthToTail(ListNode head, int k) { ListNode quick = head; ListNode slow = head; //考虑特殊情况:1.head为null 2.K = 0 3. k 大于链表长度 if (head == null || k == 0){ return null; } //快指针先走k步 for (int i = 0;i<k;i++){ if (quick == null){ return null; } quick = quick.next; } //然后两个指针同时前进 while (quick!=null){ quick = quick.next; slow = slow.next; } //当快指针走过尾结点,此时慢指针就是倒数第k个数 return slow; }
标签:http bsp 节点 题目 odi int ota 两个指针 nod
原文地址:https://www.cnblogs.com/pxy-1999/p/13340918.html