首页 > 其他分享 >876. 链表的中间结点

876. 链表的中间结点

时间:2024-12-29 21:19:25浏览次数:1  
标签:结点 ListNode val 876 h1 next 链表 h2 int

题目如下:

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

Java代码如下:

`
class ListNode {
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}
class Solution {
public static void main(String[] args) {

}
public static ListNode middleNode(ListNode head) {
    ListNode h1=head,h2=h1;
    while (h2.next!=null&&h2.next.next!=null){
        h1=h1.next;
        h2=h2.next.next;
    }
    if (h2.next!=null){
        return h1.next;
    }
    return h1;
}

}
`

标签:结点,ListNode,val,876,h1,next,链表,h2,int
From: https://www.cnblogs.com/jsjcn-666/p/18639570

相关文章

  • 每日算法----链表相交(Java)
    双指针需要找到相交节点,特殊情况两个链表在相交前的节点个数是相同的,这种情况我们只需用两个指针同时遍历两个链表,当currA==currB时,此时就找到了相交节点。从这个特殊情况可以看出来,我们需要两个链表在相交前的节点个数是相同的,对于两个相交节点不同的情况,当链表A遍历完后,我......
  • 每日算法----环形链表II(Java)
    本题在上个环形链表的基础上增加了难度,让找其环形链表的第一个节点还是原先的思路,定义快慢指针在第一次快慢指针相等时,a是到环形前的节点个数,k是离环形节点有多远快指针走了a+n圈环形+k慢指针走了a+m圈环形+k此时快指针走的路程是慢指针2倍。慢指针=快指针-慢指针=n圈......
  • 每日算法----环形链表(Java)
    快慢指针慢指针一次走一步,快指针一次走两步,环形链表,最后一定会碰到。publicclassA06hasCycle{publicbooleanhasCycle(ListNodehead){ListNodeslow=head;//慢指针ListNodefast=head;//快指针//快指针不为null且下一个节点......
  • 一棵哈夫曼树共有127个结点,对其进行哈夫曼编码,共能得到()个字符的编码
    哈夫曼树与哈夫曼编码的故事想象你是一位邮递员,你的工作是在一个小镇上传递信件。这个小镇上有很多户人家,但每家的信件量都不同。为了更高效地完成工作,你想到了一个办法:给每家分配一个独特的代码,这样你就可以更快地识别出信件应该送到哪家。这个独特的代码就是哈夫曼编码。而......
  • 数组和链表有何区别?
    从定义上讲:数组和链表都是数据的集合。1.数组中每个元素都是连续的,通过下标进行访问,当我们获取到下标后,就可以随意访问数组中的值。2.链表中的元素则是不连续的,必须获得链表中某个元素后,才能顺序访问该元素的周围元素,我们没办法随意访问链表中的元素。链表分为单向链表,双......
  • 十道OJ题帮你深入认识链表
    好了,之前我们写过单链表的文章,现在我们就通过OJ题的分析,对链表的认识更加充分! 题目一:删除链表中等于给定值val的所有节点203.移除链表元素-力扣(LeetCode)代码:structListNode*removeElements(structListNode*head,intval){structListNode*cur=head;......
  • LeetCode 82:删除排序链表中的重复元素 II
    题目:方法一:方法二:代码示例packagecom.zy.leetcode.LeetCode_82;/***@Author:zy*@Date:2024-12-26-10:51*@Description:*.删除排序链表中的重复元素II*/publicclassListNode_82{privateintval;privateListNode_82next;......
  • 链表
    includeusingnamespacestd;structNode{intdata;Node*next;};Node*CreateNode(intdata){Node*newNode=newNode();newNode->data=data;newNode->next=NULL;returnnewNode;}voidtraverseLinkedList(Node*head){Node*current=head;while(current......
  • 拉链表,流⽔表以及快照表的含义和特点
    拉链表含义拉链表主要用于记录数据的历史变化情况。从数据结构角度看,它的每条记录都包含了一个实体(如客户、产品等)的关键信息以及两个时间戳字段,即起始日期(Start_Date)和结束日期(End_Date)。起始日期表示这条记录开始生效的时间,结束日期表示这条记录失效的时间。当数据初次录......
  • 数据结构之线性表之链表(附加一个考研题)
    链表的定义链表的结构:单链表-初始化代码实现:单链表-头插法代码实现:这里我给大家分析一下我们每创建一个新的节点都要插在头节点的后面,我们一定要注意顺序一定要先让新节点指向头节点指向的下一个节点,再让头节点指向新的节点单链表-遍历代码实现:代码分析:这里我......