原理链接:https://leetcode-cn.com/problems/odd-even-linked-list/

1、双指针

ListNode* oddEvenList(ListNode* head) {if(head==NULL||head->next==NULL) return head;ListNode *p=head,*q=head->next;ListNode *pre_p=p,*pre_q=q;while(p->next!=NULL&&q->next!=NULL){p->next=p->next->next;if(p->next!=NULL) p=p->next;q->next=q->next->next;if(q->next!=NULL) q=q->next;}p->next=pre_q;q->next=NULL;return pre_p;
}

2、双链表

利用两个奇偶链表odd和even分别存储原链表的节点,最后将偶链表even接在奇链表odd后面,并且可以直接用odd和even替代迭代指针p,使代码更加简洁

ListNode* oddEvenList(ListNode* head) {if(head==NULL) return head;ListNode *odd=head,*even=head->next,*evenhead=head->next;while(even!=NULL&&even->next!=NULL){odd->next=even->next;odd=odd->next;even->next=odd->next;even=even->next;}odd->next=evenhead;return head;
}

leetcode算法题--奇偶链表相关推荐

  1. leetcode算法题--相交链表

    原题链接: https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ https://leetcode-cn.com/pro ...

  2. leetcode算法题--分隔链表

    原题链接:https://leetcode-cn.com/problems/split-linked-list-in-parts/ vector<ListNode*> splitListT ...

  3. leetcode算法题--排序链表★

    原题链接:https://leetcode-cn.com/problems/sort-list/ 1.归并排序(递归版) ListNode* sortList(ListNode* head) {if( ...

  4. leetcode算法题--重排链表★

    原题链接:https://leetcode-cn.com/problems/reorder-list/ 1.map void reorderList(ListNode* head) {map<i ...

  5. leetcode算法题--环形链表 II★

    原题链接:https://leetcode-cn.com/problems/linked-list-cycle-ii/ 1.map ListNode *detectCycle(ListNode *he ...

  6. leetcode算法题--有序链表转换二叉搜索树★

    原题链接:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/ 1.二分法+递归 TreeNode* ...

  7. leetcode算法题--反转链表 II★

    原题链接:https://leetcode-cn.com/problems/reverse-linked-list-ii/ 1.头插法 ListNode* reverseBetween(ListNod ...

  8. leetcode算法题--分隔链表★

    原题链接:https://leetcode-cn.com/problems/partition-list/ 1.双指针 ListNode* partition(ListNode* head, int ...

  9. leetcode算法题--旋转链表

    原题链接:https://leetcode-cn.com/problems/rotate-list/ 1.双指针法 相关题目:删除链表的倒数第N个节点 ListNode* rotateRight(Li ...

最新文章

  1. overflow超出显示_[CSS]text-overflow: ellipsis;什么时候可能不生效?
  2. CART树 python小样例
  3. TypeScript学习笔记1:变量赋值及书写方式
  4. mini2440 u-boot linux 内核启动,u-boot.2012.10——mini2440(二、启动流程分析)
  5. Eclipse中DTD验证导致无法进行代码提示的问题 .
  6. [蓝桥杯][2014年第五届真题]稍大的串(STL)
  7. leetcode-search-in-rotated-sorted-array
  8. 数据产品经理为什么吃香?
  9. 由于找不到iUtils.dll,无法继续执行代码。重新安装程序可能会解决此问题。
  10. [转载] numpy数组遍历找到个数最多的元素
  11. python在工程管理专业的应用_工程大数据在水利工程建设管理的应用
  12. 关于阿克曼函数(akermann)非递归算法的一点见解 c++
  13. 【WORD】01 多级标题自动编号
  14. ps2021神经ai滤镜无法使用,ps2021没法用神经元滤镜
  15. 基于spring websocket实现广播及点对点推送功能
  16. bzoj4173:数学
  17. DS1302时钟芯片(SPI协议)
  18. 百度地图受邀参加第九届全国化工物流行业年会 助力危化品物流运输安全合规
  19. 第1讲 样本空间 随机事件
  20. Proteus使用教程并仿真51程序——LED流水灯

热门文章

  1. python3教程-Python3 教程
  2. python面试常见问题-Python面试中最常见的25个问题
  3. python散点图拟合曲线-Python解决最小二乘法拟合并绘制散点图
  4. python3基础语法-Python3 - 基础语法
  5. python3官方最新下载-python3.7
  6. python的列表的remove()方法、判断if xxx in xx条件比较耗时问题
  7. QTableView中点击单元格弹出QComboBox
  8. centos7下没有iptables
  9. java多线程11.非阻塞同步机制
  10. vue双向绑定原理源码解析