剑指 Offer 22. 链表中倒数第k个节点

题意

求链表中倒数第k个节点

方法

记录链表节点个数, 将倒数转换为正数

代码


/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* getKthFromEnd(ListNode* head, int k) {
        int n = 0;
        ListNode* dummy_head = head;
        while (dummy_head != nullptr) {
            n++;
            dummy_head = dummy_head->next;
        }
        k = n-k;
        while(k--) head = head->next;

        return head;
    }
};
posted @ 2022-08-01 21:27  Figure_at_a_Window  阅读(21)  评论(0)    收藏  举报