文章目录
- 每日一言
- 题目
- 解题思路
- 代码
- 结语
每日一言
高低灯火,鼎沸笙箫。
一年三百六十日,
愿长似今宵。
题目
题目链接:链表中倒数第k个节点
给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第 cnt 个训练项目编号。
- 示例 1:
输入:head = [2,4,7,8], cnt = 1
输出:8
提示:
1 <= head.length <= 100
0 <= head[i] <= 100
1 <= cnt <= head.length
解题思路
使用快慢指针法:
让快指针先走cnt步,之后让两个指针同速前进,快者走完而领先cnt步
代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/
struct ListNode* trainingPlan(struct ListNode* head, int cnt) {struct ListNode* fast = head;//快指针struct ListNode* slow = head;//慢指针//让快指针向后走cnt步while(cnt--){fast = fast->next;}//让快指针向后走到头,同时让慢指针开始走,while(fast){fast = fast->next;slow = slow->next;}//此时slow就是题目所要的return slow;
}
结语
请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!
都看到这里啦!真棒(*^▽^*)
可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家
编程小白写作,如有纰漏或错误,欢迎指正