抚州市网站建设_网站建设公司_建站流程_seo优化
2026/1/8 21:43:35 网站建设 项目流程

1.题目

2.思路

原地重排链表:

odd.next=even.next:跳过偶数,把下一个奇数连起来

even.next=odd.next:跳过奇数,把下一个偶数连起来

最后把奇数链尾接回 evenHead

3.代码实现

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */classSolution{publicListNodeoddEvenList(ListNodehead){//如果是空链表,直接返回if(head==null){returnhead;}ListNodeevenHead=head.next;//2ListNodeodd=head;//1ListNodeeven=evenHead;//2while(even!=null&&even.next!=null){//1、2、3、4、5//奇数的下一位指向相邻偶数的下一位odd.next=even.next;//第一轮:[1,3]//第二轮:[1,3,5]odd=odd.next;//第一轮:存放临时变量3, odd 指针前进到新的尾部[3]//第二轮:存放临时变量5,odd指针前进到新的尾部[5]even.next=odd.next;//第一轮:[2,4]//第二轮:[null]even=even.next;//第一轮:存放临时变量4, 指针前进到新的尾部[4]//第二轮:[null],跳出循环}// 把奇数链尾接上偶数链头[5->2]odd.next=evenHead;returnhead;}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询