首页 > 其他分享 >876 , 链表的中间节点

876 , 链表的中间节点

时间:2023-08-28 22:22:20浏览次数:31  
标签:head slow ListNode 876 fast next 链表 null 节点

https://leetcode.cn/problems/middle-of-the-linked-list/

 

使用快慢指针

 1 lass Solution {
 2     public ListNode middleNode(ListNode head) {
 3         // 排除为空情况
 4         if(head == null){
 5             return null;
 6         }
 7         // 使用快慢指针
 8         ListNode slow = head;
 9         ListNode fast = head;
10 
11         while(fast != null && fast.next != null){
12             slow = slow.next;
13             fast = fast.next.next;
14         }
15         return slow;
16     }
17 }

 

标签:head,slow,ListNode,876,fast,next,链表,null,节点
From: https://www.cnblogs.com/luyj00436/p/17106784.html

相关文章

  • 实现-双向链表
    1/*2简介:双向链表,可在头尾实现插入和删除3注意:这个双向链表不形成环4作者:njit-sam(许言)5*/67#include<stdio.h>8#include<stdlib.h>9#include<string.h>1011typedefstructdouble_linked_list{12intindex;13struc......
  • 剑指Offer 25. 合并两个排序的链表
    题目链接:剑指Offer25.合并两个排序的链表题目描述:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。解法思路:在两链表向后遍历的过程中,哪个更小一点,哪个先放在合并后的链表中。最后哪个链表剩余,直接接在合并链表的后面即可。代码:/***Definit......
  • 剑指Offer 22. 链表中倒数第k个节点
    题目链接:剑指Offer22.链表中倒数第k个节点题目描述:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。解法思路:快慢指针:慢指针不动,快指针先走k步,然后快慢指针一起向后走,当快指针走到末尾时,慢指针所指的就是倒......
  • 用单链表解决约瑟夫问题 C语言实现
    编号为1,2,3,…,n的n个人按顺序针方向围坐一张圆桌旁,每个人手中持有一个密码(正整数)。首先输入一个正整数作为报数上限值m,然后,从第一个人开始按顺序针方向自1开始顺序报数,报到m的人离开桌子,并将他手中的密码作为新的m值,从顺序针方向的下一个就坐在桌旁的人开始重新从1报数,如此下去,直......
  • 用单链表实现一元多项式相加 C++代码
     #include<iostream>usingnamespacestd;/*结点的定义*/typedefstructLNode{floatcoef;intexp;structLNode*next;}LNode;typedefLNode*Polynomial;/*多项式的初始化*/voidinitDuoX(Polynomial&Px){Px=newLNode;......
  • 双链表的定义、初始化、插入、删除,C++代码实现的算法
    #include<iostream>usingnamespacestd;/*双向链表类型定义*/typedefstructduNode{chardata;structduNode*prior;structduNode*next;}duNode;typedefduNode*duLinklist;//指针类型,故访问它的成员用“->”。/*初始化双向链表*/voidinitLinkl......
  • 代码随想录第4天|链表复习
    做这种算法题真的要放平心态,你想不到思路的时候不要觉得自己太笨,其实想不到很正常,今天环形链表和相交链表这两道题,真的一点思路都没有,环形链表是最难理解的,在课堂上学的链表上的那点东西拿来做这种题确实还是差很多,我真的非常感谢这个做题的训练营,没有它我自己真的做不下去,现在跟......
  • 剑指Offer 18. 删除链表的节点
    题目链接:剑指Offer18.删除链表的节点题目描述:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。解法思路:由于包含删除第一个节点的情况,因此采用虚拟头节点,当遍历时找到待删除节点的前驱节点时,删除节点即可代码:/***Def......
  • 大厂算法题每日总结(绳子最大能盖的数组节点)
    //绳子最大能盖的数组节点publicstaticvoidmain(String[]args){int[]arr={1,4,7,9,60};System.out.println(maxPoint2(arr,50));}publicstaticintmaxPoint(int[]arr,intL){//L是绳子的长度 intres=1; for(inti=0;i<arr.length;i++){ intnearest=n......
  • 代码随想录算法训练营第二十二天| 235. 二叉搜索树的最近公共祖先 701.二叉搜索树
      235. 二叉搜索树的最近公共祖先    卡哥建议:相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性。   题目链接/文章讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%B......