题目描述
blablabla
样例
public ListNode findKthToTail(ListNode pListHead, int k) {
if (k == 0) return null;
// k >= 0; 倒数第0个 就是没有
int count = 0;
ListNode cur = pListHead;
while (count < k && cur != null) {
cur = cur.next;
count++;
}
ListNode res = pListHead;
// 这里需要注意一种case 就是k == 链表的长度 这个时候res = 第一个node 因为cur == null 不用运行但是可以得到答案(不是null)
if (cur == null && k != count) return null; // cur == null 如果count == k说明正好k等于链表长度是可以的
// 如果!= k 说明 长度还没到k就退出了
while (cur != null) {
res = res.next;
cur = cur.next;
}
return res;
}
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla