求链表的中间结点

思路

一个走两步,一个走一步。一个走到尾,另外一个就走到了中间

/*** 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个结点相关推荐

  1. 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点

    第 13 题(链表): 题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表 的尾指针. 链表结点定义如下: struct ListNode { int m_nKey ...

  2. c语言求单链表倒数第k个节点,链表中倒数第k个结点

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 解析 设置两个指针,一个遍历链表到第k-1个结点,第二个再开始遍历,直到遍历到链表的最后一个结点,那么第二个指针指向的,就是倒数第k个结点. Ja ...

  3. [剑指offer]面试题15:链表中倒数第k个结点

    面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6个结点,从头结点开始 ...

  4. 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...

  5. 《剑指Offer》 链表中倒数第k个结点

    题目描述: 输入一个链表,输出该链表中倒数第k个结点. 思路: 设置一个新ret,先将pListHead位置往后移k-1位,使得ret与pListHead距离为k-1,这样只要pListHead为最后 ...

  6. 剑指offer_第14题_链表中倒数第k个结点_Python

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 理解 链表详解 python数据结构之链表 解题思路 思路1 确定链表种结点个数lenth 倒数第k个结点就是第length-k+1个结点 需要考 ...

  7. 【Java】找到链表中倒数第k个结点

    题目描述 : 输入一个链表,输出该链表中倒数第k个结点. 解题思路 : 1.根据以上链表进行分析 2.算法思想 : 定义两个引用,即快慢指针,都从头节点开始向后走: 要找到倒数第k个节点,即要让快指针 ...

  8. 【剑指offer-Java版】15链表中倒数第K个结点

    链表中倒数第K个结点:快慢指针解决 需要注意的地方是 1) 可能会存在输入的链表大小小于k 2) 输入的k可能小于等于0 - 所以必须限定k大于0 public class _Q15 {public ...

  9. 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?

    记录两道面试题: 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(单向链表) 拿到这个问题的时候自然而然会想到让链表从末尾开始next   K-1 次不就是第K-1个节点了么,但是必须要注意一 ...

最新文章

  1. 虚拟机开机出现dracut_用U盘装CentOS 7出现dracut:/#问题的解决办法
  2. 阿里云主机CentOS添加硬盘
  3. 忽略证书_中专考生注意!忽略这一点,四科全过也拿不到执业药师证书!
  4. 【Caffe代码解析】Blob
  5. linux系统可以用autocad吗,还在找适用于Linux系统的CAD软件?这5款千万别错过!
  6. 74CMS 3.0 CSRF漏洞
  7. php模拟邮箱登录2017,php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录(原创)...
  8. python发微信提醒天气_基于Python实现定时自动给微信好友发送天气预报
  9. 三坐标检测基础知识之RationalDMIS 2020 ,PC-DMIS 2019 点轮廓度(T值)算法说明
  10. java 控制台输出时间_Java获取时间打印到控制台代码实例
  11. 函数对称性常见公式_函数的各种对称性
  12. 378,数据结构-7,堆
  13. u9服务器系统,U9服务器选型和部署方案doc .doc
  14. Dart plugin not installed; this adds Dart specific functionality. Flutter plugin not installed;
  15. 五一节,企业该如何使用公众号吸一波精准粉?
  16. 斩---c语言指针于马下!(上)
  17. 苹果闪照如何第二次查看_苹果期货大涨所为何?
  18. SketchUp学习笔记
  19. 隐私合规:移动SDK安全要求及测试内容
  20. 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====利润中心

热门文章

  1. 更多Requests的小技巧以及总结
  2. pycaffe简明文档
  3. 分层设计 --java中的几种包
  4. replace 替换全部的正确姿势
  5. Keilc的中断号计算方法
  6. android ImageView 之 android:scaleTye=
  7. 开启和关闭wifi的代码段
  8. 想起温习一下JS中的this apply call arguments
  9. 上传文件显示进度条_【技巧 】iOSamp;Windows互传文件?透过「文件」轻松解决~...
  10. linux 内存使用原理,linux中内存使用原理