链表中倒数第k个结点
题目
输入一个链表,输出该链表中倒数第k个结点。
解题思路
- 两个指针,快指针先走 k 步,然后慢指针在向前移动,当快指针遍历结束,慢指针指向倒数第 k 个节点
- 需要考虑倒数 k 个节点不存在的情况
public ListNode FindKthToTail(ListNode head, int k) {
if (head == null) {
return null;
}
ListNode cursor = head;
ListNode cursorK = head;
int i = 0;
while (cursorK != null) {
cursorK = cursorK.next;
if (i >= k) {
cursor = cursor.next;
}
i++;
}
if (i < k) {
return null;
}
return cursor;
}
当前内容版权归 Hayden Yang 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Hayden Yang .