字节跳动高频面试题之排序奇升偶降链表

对于这篇文章,添加了下我的做法
链接

问题描述:

[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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值