剑指offer:链表中倒数第k个节点
生活随笔
收集整理的这篇文章主要介绍了
剑指offer:链表中倒数第k个节点
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 分析
- 题目来源
分析
方法:顺序查找
第一步:求链表长度n
第二步:倒数第k个结点,就是前面第n-k+1个结点,也就是表头结点往后移动n-k次。
ac代码
/*** 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;for(auto p = head; p; p = p->next) n ++;if (k > n) return nullptr;auto p = head;for(int i = 0; i < n - k; i ++) p = p->next;return p;} };题目来源
https://www.acwing.com/problem/content/32/
总结
以上是生活随笔为你收集整理的剑指offer:链表中倒数第k个节点的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 剑指offer:调整数组顺序使奇数位于偶
- 下一篇: 剑指offer:反转链表