王道2-2-21

    技术2022-07-11  103

    题目大意

    实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。

    思路

    双指针,第一个p先走k部,然后q从head开始,pq同时走,直到p为空,q就是索要的节点

    设p与结尾查x次,总长k+x次,p走了x次,也就是倒数k

    代码实现

    int kthToLast(ListNode* head, int k) { ListNode* c=head; while(k){ head=head.next; k--; } while(head){ c=c.next; head=head.next; } return c.val; }
    Processed: 0.011, SQL: 9