当前位置:网站首页>2022.07.29_Daily Question
2022.07.29_Daily Question
2022-07-31 07:39:00 【没有承诺。】
328. 奇偶链表
题目描述
给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表.
第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推.
请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致.
你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题.
示例 1:

输入: head = [1,2,3,4,5]
输出: [1,3,5,2,4]
示例 2:

输入: head = [2,1,3,5,6,4,7]
输出: [2,3,6,7,1,5,4]
提示:
n ==链表中的节点数0 <= n <= 104-106 <= Node.val <= 106
coding
/** * 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; } * } */
class Solution {
public ListNode oddEvenList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode node1 = head;
ListNode node2 = head.next;
// Holds the node at the even index position
ListNode temp = head.next;
ListNode cur = head.next.next;
// flag = true -> 奇数索引
boolean flag = true;
while (cur != null) {
if (flag) {
node1.next = cur;
node1 = node1.next;
} else {
node2.next = cur;
node2 = node2.next;
}
cur = cur.next;
flag = !flag;
}
// node1 -> node2
// 如果 node1.next = head.next; 会出现 Error - Found cycle in the ListNode, One-way circular linked list appears (因为此时的headThe original linked list has been changed)
node1.next = temp;
node2.next = null;
return head;
}
}
边栏推荐
- 简单谈谈Feign
- HighTec 的安装与配置
- 2022.07.20_每日一题
- Exam Questions Previous True Questions Wrong Bills [The Fourth Session] [Provincial Competition] [Group B]
- 2. (1) Chained storage of stack, operation of chain stack (illustration, comment, code)
- 03-SDRAM: Write operation (burst)
- Zabbix6.2惊喜发布!特别优化中大型环境部署的性能!
- 【微服务】(十六)—— 分布式事务Seata
- Analysis of pseudo-classes and pseudo-elements
- 讲解实例+详细介绍@Resource与@Autowired注解的区别(全网最全)
猜你喜欢
随机推荐
Foreign trade website optimization - foreign trade website optimization tutorial - foreign trade website optimization software
Leetcode952. 按公因数计算最大组件大小
【第四章】详解Feign的实现原理
《白帽子说Web安全》思维导图
文件 - 04 下载文件: 根据文件下载链接下载文件
2022.7.29 数组
一文读懂 MongoDB 和 MySQL 的差异
Some derivation formulas for machine learning backpropagation
线程中断方法
项目 - 如何根据最近30天、最近14天、最近7天、最近24小时、自定义时间范围查询MySQL中的数据?
强化学习科研知识必备(数据库、期刊、会议、牛人)
Postgresql source code learning (34) - transaction log ⑩ - full page write mechanism
Web浏览器工作流程解析
2022.7.29 Array
iOS大厂面试查漏补缺
2022.07.15_每日一题
【Go报错】go go.mod file not found in current directory or any parent directory 错误解决
什么是半波整流器?半波整流器的使用方法
文件 - 03 下载文件:根据文件id获取下载链接
2022.07.12_每日一题









