链表题目--2 求链表的中间结点 和 求链表中倒数第k个结点
求链表的中间结点
思路
一个走两步,一个走一步。一个走到尾,另外一个就走到了中间
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* middleNode(struct ListNode* head){struct ListNode* fast=head;struct ListNode* slow=head;while(1){if(head==NULL){return NULL;}fast=fast->next;if(fast==NULL){break;}slow=slow->next;fast=fast->next;if(fast == NULL){break;}}return slow;
}
求链表中倒数第k个结点
思路
让一个人先走k步,然后一起走,等最后一个为空时,前面那个就是倒数第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) {ListNode *front = pListHead;ListNode *back = pListHead; for(int i = 0; i < k; i++ ){if(front == NULL){return NULL;}front = front->next; }while(front != NULL){front = front->next;back = back->next;}return back;}
};
链表题目--2 求链表的中间结点 和 求链表中倒数第k个结点相关推荐
- 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点
第 13 题(链表): 题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表 的尾指针. 链表结点定义如下: struct ListNode { int m_nKey ...
- c语言求单链表倒数第k个节点,链表中倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 解析 设置两个指针,一个遍历链表到第k-1个结点,第二个再开始遍历,直到遍历到链表的最后一个结点,那么第二个指针指向的,就是倒数第k个结点. Ja ...
- [剑指offer]面试题15:链表中倒数第k个结点
面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6个结点,从头结点开始 ...
- 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...
- 《剑指Offer》 链表中倒数第k个结点
题目描述: 输入一个链表,输出该链表中倒数第k个结点. 思路: 设置一个新ret,先将pListHead位置往后移k-1位,使得ret与pListHead距离为k-1,这样只要pListHead为最后 ...
- 剑指offer_第14题_链表中倒数第k个结点_Python
题目描述 输入一个链表,输出该链表中倒数第k个结点. 理解 链表详解 python数据结构之链表 解题思路 思路1 确定链表种结点个数lenth 倒数第k个结点就是第length-k+1个结点 需要考 ...
- 【Java】找到链表中倒数第k个结点
题目描述 : 输入一个链表,输出该链表中倒数第k个结点. 解题思路 : 1.根据以上链表进行分析 2.算法思想 : 定义两个引用,即快慢指针,都从头节点开始向后走: 要找到倒数第k个节点,即要让快指针 ...
- 【剑指offer-Java版】15链表中倒数第K个结点
链表中倒数第K个结点:快慢指针解决 需要注意的地方是 1) 可能会存在输入的链表大小小于k 2) 输入的k可能小于等于0 - 所以必须限定k大于0 public class _Q15 {public ...
- 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?
记录两道面试题: 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(单向链表) 拿到这个问题的时候自然而然会想到让链表从末尾开始next K-1 次不就是第K-1个节点了么,但是必须要注意一 ...
最新文章
- 虚拟机开机出现dracut_用U盘装CentOS 7出现dracut:/#问题的解决办法
- 阿里云主机CentOS添加硬盘
- 忽略证书_中专考生注意!忽略这一点,四科全过也拿不到执业药师证书!
- 【Caffe代码解析】Blob
- linux系统可以用autocad吗,还在找适用于Linux系统的CAD软件?这5款千万别错过!
- 74CMS 3.0 CSRF漏洞
- php模拟邮箱登录2017,php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录(原创)...
- python发微信提醒天气_基于Python实现定时自动给微信好友发送天气预报
- 三坐标检测基础知识之RationalDMIS 2020 ,PC-DMIS 2019 点轮廓度(T值)算法说明
- java 控制台输出时间_Java获取时间打印到控制台代码实例
- 函数对称性常见公式_函数的各种对称性
- 378,数据结构-7,堆
- u9服务器系统,U9服务器选型和部署方案doc .doc
- Dart plugin not installed; this adds Dart specific functionality. Flutter plugin not installed;
- 五一节,企业该如何使用公众号吸一波精准粉?
- 斩---c语言指针于马下!(上)
- 苹果闪照如何第二次查看_苹果期货大涨所为何?
- SketchUp学习笔记
- 隐私合规:移动SDK安全要求及测试内容
- 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====利润中心