站长工具域名备案查询,杭州知名的企业网站建设,做品牌特卖的网站,小明之家网页制作html题目描述:
给你单链表的头结点 head #xff0c;请你找出并返回链表的中间结点。
如果有两个中间结点#xff0c;则返回第二个中间结点。
示例 1#xff1a; 输入#xff1a;head [1,2,3,4,5]
输出#xff1a;[3,4,5]
解释#xff1a;链表只有一个中间结点#xff0…题目描述:
给你单链表的头结点 head 请你找出并返回链表的中间结点。
如果有两个中间结点则返回第二个中间结点。
示例 1 输入head [1,2,3,4,5]
输出[3,4,5]
解释链表只有一个中间结点值为 3 。示例 2 输入head [1,2,3,4,5,6]
输出[4,5,6]
解释该链表有两个中间结点值分别为 3 和 4 返回第二个结点。
代码:
//奇数:p1走一步,p2走两步,p2.next!null//偶数:p1走一步,p2走两步,p2!nullpublic ListNode middleNode(ListNode head){ListNode p1head;ListNode p2head;while(p2!nullp2.next!null){//偶数:p2!null(短路运算符写在前面,奇数:p2.next!nullp1p1.next;p2p2.next.next;}return p1;}