• 链表中倒数第k个结点
    • 题目
    • 解题思路

    链表中倒数第k个结点

    题目

    牛客网

    输入一个链表,输出该链表中倒数第k个结点。

    解题思路

    1. 两个指针,快指针先走 k 步,然后慢指针在向前移动,当快指针遍历结束,慢指针指向倒数第 k 个节点
    2. 需要考虑倒数 k 个节点不存在的情况
    1. public ListNode FindKthToTail(ListNode head, int k) {
    2. if (head == null) {
    3. return null;
    4. }
    5. ListNode cursor = head;
    6. ListNode cursorK = head;
    7. int i = 0;
    8. while (cursorK != null) {
    9. cursorK = cursorK.next;
    10. if (i >= k) {
    11. cursor = cursor.next;
    12. }
    13. i++;
    14. }
    15. if (i < k) {
    16. return null;
    17. }
    18. return cursor;
    19. }