剑指offer--15.链表中倒数第k个节点
来源:互联网 发布:太极拳软件 编辑:程序博客网 时间:2024/06/06 09:01
题目描述
输入一个链表,输出该链表中倒数第k个结点。
两种方式:
1、遍历两遍链表:倒数K==正数n-k+1。第一遍遍历求n,第二遍遍历n-k+1个节点即可。
2、遍历一遍链表:两个指针。第一个遍历k-1步后,第二个指针开始遍历。第一个到尾节点后,第二个为倒数第K个。
有三个点需要注意:
/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { //输入pHeadList为NULL? //输入K==0? if (pListHead == NULL||k==0) return NULL; ListNode* p1 = pListHead; ListNode* p2 = pListHead; while (--k != 0) { //输入的K大于整个链表的长度 if(p1->next==NULL) return NULL; p1=p1->next; } while (p1->next != NULL) { p1 = p1->next; p2 = p2->next; } return p2; }};
0 0
- 剑指offer--15.链表中倒数第k个节点
- 剑指Offer之链表中倒数第K个节点
- 来自《剑指offer》 链表中倒数第k个节点
- 【剑指offer系列】 链表中倒数第k个节点___15
- 剑指offer(16):链表中倒数第k个节点
- 剑指Offer :寻找链表中倒数第K个节点
- 剑指offer 链表中倒数第k个节点
- 剑指offer-链表中倒数第K个节点-php
- 剑指offer-链表中倒数第K个节点
- 剑指offer-14.链表中倒数第k个节点
- 剑指offer---链表中倒数第k个节点
- 剑指offer--链表中倒数第K个节点
- 剑指Offer----链表中倒数第k个节点
- 剑指offer——链表中倒数第k个节点
- 剑指Offer——链表中倒数第K个节点
- 剑指Offer--14.链表中倒数第k个节点
- 牛客网 剑指offer-链表中倒数第K个节点
- #剑指offer--(16)链表中倒数第k个节点
- 剑指offer-4-面试25:二叉树中和为某一值的路径
- apache压力测试ab命令使用及结果判断
- UITableview禁止cell点击事件
- mysql-mmm实战安装
- Java基础五
- 剑指offer--15.链表中倒数第k个节点
- Linux Netcat 命令——网络工具中的瑞士军刀
- Powermock and sonar jacoco的覆盖率不兼容问题解决 2
- 天气应用小示例
- C语言培训_001
- 编写模块python
- dataTables插件-四种数据来源
- 显示更多和收起
- 用C#语言实现八皇后问题