对于这篇文章,添加了下我的做法
链接
问题描述:
[1] 链表,奇数位置按序增长,偶数位置按序递减,如何能实现链表从小到大?(2020.10 字节跳动-后端)
[2] 奇偶生序倒序链表的重新排序组合,例如:18365472(2020.08 字节跳动-后端)
[3] 1->4->3->2->5 给定一个链表奇数部分递增,偶数部分递减,要求在O(n)时间复杂度内将链表变成递增,5分钟左右(2020.07 字节跳动-测试开发)
[4] 奇数位升序偶数位降序的链表要求时间O(n)空间O(1)的排序?(2020.07 字节跳动-后端)
——————————————
采用java的语言,
核心思路
按奇偶位置拆分链表,得1->3->5->7->NULL和8->6->4->2->NULL
反转偶链表,得1->3->5->7->NULL和2->4->6->8->NULL
合并两个有序链表,得1->2->3->4->5->6->7->8->NULL
package test;
class ListNode{
int val;
ListNode next;
ListNode() {
};
ListNode(int val){
this.val=val;};
ListNode(int val,ListNode next){
this.val=val;this.next=next;