leetcode之奇偶链表
题目介绍
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。
请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。
示例 1:
输入: 1->2->3->4->5->NULL
输出: 1->3->5->2->4->NULL示例 2:
输入: 2->1->3->5->6->4->7->NULL
输出: 2->3->6->7->1->5->4->NULL
说明: 应当保持奇数节点和偶数节点的相对顺序。链表的第一个节点视为奇数节点,第二个节点视为偶数节点,以此类推。
解题思路
可以建立两个node,一个作为奇数node,一个作为偶数node,最后把两个node拼接起来就好,这样就可以得到奇数节点编号和偶数节点编号依次按照顺序输出。
源代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* oddEvenList(ListNode* head) {if(head==NULL||head->next==NULL){return head;}//注意:这里需要一个判断语句来判断head指向的节点是否为空。ListNode *odd=head;ListNode *even=head->next;ListNode *cur=even;while(even!=NULL&&even->next!=NULL){odd->next=even->next;odd=odd->next;even->next=odd->next;even=even->next;}odd->next=cur; return head;}
};
leetcode之奇偶链表相关推荐
- Java实现 LeetCode 328 奇偶链表
328. 奇偶链表 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂 ...
- 35. Leetcode 328. 奇偶链表 (链表-双指针)
给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表.第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推.请注意,偶数组 ...
- leetcode 328. 奇偶链表(双指针)
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...
- LeetCode 328.奇偶链表
题目(20¥) 题目地址:https://leetcode-cn.com/problems/odd-even-linked-list/ 题解 oddHead 节点即 head 节点,evenHead ...
- leetcode算法题--奇偶链表
原理链接:https://leetcode-cn.com/problems/odd-even-linked-list/ 1.双指针 ListNode* oddEvenList(ListNode* he ...
- Leetcode每日一题2020.11.13第328题:奇偶链表
328.奇偶链表 题目描述 思路.算法及代码实现 方法:分离节点后合并 如果链表为空,则直接返回链表. 对于原始链表,每个节点都是奇数节点或偶数节点.头节点是奇数节点,头节点的后一个节点是偶数节点,相 ...
- C#LeetCode刷题-链表
链表篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 19 删除链表的倒数第N个节点 29.4% 中等 21 合并两个有序链表 C#LeetCode刷题之#21-合并两个有序链 ...
- leetcode刷题链表
leetcode刷题链表 反转链表Ⅱ 题目描述将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1).例如: 给出的链表为9 ...
- python 奇偶链表
|奇偶链表 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 ...
- LeetCode 92反转链表Ⅱ93复制ip地址94二叉树的中序遍历
微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...
最新文章
- 如何利用大数据指导市场营销
- 效率 qt_Qt开发之Go篇(三)
- python处理表格数据-python通过xrld库读取表格数据
- 关于 Python 列表操作,最常见问答Top10
- Microsoft My Phone试用手记
- 优化案例(part5)--sparse subspace clustering via Low-Rank structure propagation
- python opencv 教程_OpenCV-Python系列教程介绍
- 外卖小哥高考623分!查分后淡定送外卖
- java jdk的作用_Java JDK环境配置及配置作用说明
- 数字转字符串的精度问题
- 产品经理(PM)的工作流程
- 面试:Android数据库升级给表增加字段
- 用PS给证件照换底色
- linux centos 权限审核 polkitd进程 简介
- facebuilder免费版_Face Blender(人脸混合器)V2018 最新免费版
- Latex 大括号错位显示
- js 判断一个 object 对象是否为空
- 微信7.0.10正式版来了!朋友圈斗图彻底关闭了!
- javascript入门及基础语法结构
- 如何获取网络协议的协议号