题目地址
难度:⭐
题目描述:
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
1 2
| 输入: 1->2->3->4->5 和 k = 2 输出: 4
|
说明:
给定的$k$保证是有效的。
🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️解题过程🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️
解题过程:
思路:
和上道题链表中倒数第k个节点基本一样,只是把返回的节点改成节点的值而已。
遍历链表,把每个结点指针存到vector容器中,返回倒数第k个节点的值可以直接下标获取。
c++代码:(执行用时4ms,击败73.35%,内存消耗10.6M,击败5.61%)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
class Solution { public: int kthToLast(ListNode* head, int k) { vector<ListNode*> tmp; while(head){ tmp.push_back(head); head=head->next; } return tmp[tmp.size()-k]->val; } };
|
⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳总 结⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳
总结:
没有官方题解,轻松加愉快🥱