【leetcode】Sort List

使用TMS320F28335控制四位共阳数码管 简要阐述利用F28335控制四位共阳数码管的整个过程,包括原理、思路、部分代码以及调试过程。 阅读详情
Sort a linked list in O(n log n) time using constant space complexity.

题目要求:对一个链表进行归并排序。
基本思想:
1:利用归并排序的整体思想
2:找到一个链表的中间节点的方法
3:合并两个已排好序的链表为一个新的有序链表

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* findMid(ListNode* head){
        if(head==NULL || head->next==NULL) return head;
        ListNode* start=head;
        ListNode* forword=head;
        while(forword->next!=NULL && forword->next->next!=NULL){
            start=start->next;
            forword=forword->next->next;
        }
        return start;
    }
    ListNode* merge(ListNode* a, ListNode* b){
        if(a==NULL && b==NULL) return NULL;
        if(a==NULL) return b;
        if(b==NULL) return a;
       
        ListNode* newhead;
        if(a->val <= b->val){
            newhead=a;
            a=a->next;
        }
        else{
            newhead=b;
            b=b->next;
        }
        ListNode* tmp=newhead;
        while(a!=NULL && b!=NULL){
            if(a->val <= b->val){
                tmp->next=a;
                a=a->next;
            }
            else{
                tmp->next=b;
                b=b->next;
            }
            tmp=tmp->next;
        }
        if(a!=NULL)
            tmp->next=a;
        if(b!=NULL)
            tmp->next=b;
        return newhead;
    }
    ListNode* sortList(ListNode* head) {
        if(head==NULL || head->next==NULL) return head;
       
        ListNode* mid=findMid(head);
        ListNode* newstart=mid->next;
        mid->next=NULL;
        return merge(sortList(head),sortList(newstart));
    }
};
一文快速教你如何下载国自然模版 5. 成功进入“相关文件查看”页面后,点击左侧的“项目申请文件“,如果你此次申请的是“面上项目”,选择对应的下拉框,找到对应的模版下载即可。6. 🫑们发现,在当前页面点击“青年科学基金项目”,左侧出现的是“原国家杰出青年科学基金项目”。7. 进入下一页后,点击“青年科学基金项目”,便可以在右侧找到🫑们要找的模版啦。2. 成功登陆后,点击1处的“首页”,在首页界面,再点击2处的“项目批准”。8. 点击上图3处的“文件详情”,就可以找到可以下载的模版啦(如下图)。3. 从“项目批准”进入后,点击“管理”。 阅读详情

相关推荐

硬盘dma读写过程

保护模式中,pci上的硬盘dma读写方法

480

Java中Array.sort()的几种用法

****************************************************** * 精品书籍推荐:《Java从入门到经通》 * 本书系统全面、浅显易懂,非常适合没有任何编程经验的初学者阅读, * 也可作为软件开发人员和高校师生的必备参考书。 ****************************************************** Java...

weixin_30455067的博客 3816

QuickFix Java 实战(一)协议解析、环境搭建与首个应用

本文是QuickFix Java实战系列的第一篇,详细介绍了FIX协议的核心原理与QuickFix/J引擎的实战应用。内容涵盖FIX协议的标签化通信机制、QuickFix/J库的两种下载方法、协议定义文件解析,并通过一个完整的模拟订单发送示例,指导读者快速搭建首个FIX应用环境,实现消息生成与会话通信。

dog123的博客 495

leetcode 148. Sort List

【代码】leetcode 148. Sort List。

weixin_41554427的博客 917

K8S搭建(centos)四、安装K8S

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 2646

ESP32 双雷达融合盲区车辆接近预警系统设计与实现

/ 超声波传感器引脚// 触发引脚// 回声引脚// 预警模块引脚// 蜂鸣器引脚// LED引脚// 串口配置(毫米波雷达用UART2)#define BAUD_RATE 115200 // 雷达串口波特率(IWR6843默认配置)// 预警阈值(可根据实际需求调整)// 高危区阈值(3m)// 预警区阈值(10m)// 传感器数据存储// 毫米波雷达距离(m)// 毫米波雷达速度(km/h)// 超声波距离(m)// 融合后距离(m)

weixin_42300449的博客 745

Leetcode 148 Sort List

Leetcode 148 Sort List题目思路代码 题目 Given the head of a linked list, return the list after sorting it in ascending order. Follow up: Can you sort the linked list in O(n logn) time and O(1) memory (i.e. constant space)? Example 1: Input: head = [4,2,1,3] Outpu

weixin_43796689的博客 148

Android Audio最全面试题及参考答案(7万字长文)

在 Android 音频系统中,应用通过框架层的 API 发出音频请求,这些请求经过音频服务层的处理,传递到 HAL 层,再由 HAL 层调用音频驱动层与硬件进行交互,最终实现音频的播放、录制等功能。在 Android 音频系统中,应用通过框架层的 API 发出音频请求,这些请求经过音频服务层的处理,传递到 HAL 层,再由 HAL 层调用音频驱动层与硬件进行交互,最终实现音频的播放、录制等功能。音频播放完成事件:当使用 MediaPlayer 等音频播放类播放音频时,音频播放完成后会触发这个事件。

大模型大数据攻城狮的专栏 2604

Leetcode在线编程sort-list

Leetcode在线编程sort-list 单链表快速排序

你误入了一个弱渣的领域 576

基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置

本文介绍如何配置VSCode+clangd插件进行高效C++开发。重点内容包括:1)生成compile_commands.json文件,通过ninja工具提取编译命令并使用gen_compdb脚本转换;2)配置clangd命令行参数,如设置后台索引、并行度等;3)编写.clangd配置文件,调整编译标志和诊断选项;4)添加.clang-format文件定义代码风格;5)在VSCode中添加远程服务器工作目录。配置完成后需重启clangd服务使更改生效。文章还提供了MTK/QCOM等不同平台生成compile

5070

基于DWA算法的机器人动态避障技术实现及matlab代码

DWA算法是一种基于轨迹的运动规划算法,其核心思想是:在机器人当前位置及速度的基础上,结合机器人感知到的环境信息,生成一组合法的速度指令,然后从这组速度指令中选取代价最小的速度指令作为机器人的下一步操作。下面,我们将通过一个实例来演示基于DWA算法的机器人动态避障技术实现。假设机器人在一个宽敞的场地内行驶,但场地内有一些固定障碍物和移动障碍物,机器人需要避开这些障碍物,并在场地内自由移动。本文给出了一种基于DWA算法的机器人动态避障技术实现及相应的matlab代码,读者可以根据自身需求进行修改和调整。

uote_e的博客 1002

LeetCode: Insertion Sort List

LeetCode: Insertion Sort List LeetCode: Insertion Sort List Sort a linked list using insertion sort. 地址:https://oj.leetcode.com/problems/insertion-sort-list/ 算法:按题目的意思,采用...

weixin_34185512的博客 188

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析

伶俐角少儿编程 484

Crack LeetCode 之 148. Sort List

https://leetcode.com/problems/sort-list/ 对于链表的排序,非常适合用归并排序算法。但本题还要求只用O(1)的内存空间;如果考虑归并算法的栈的话,实际上本题的解法使用的是O(n)的内存空间。所以本题解法的时间复杂度是O(n Log(n)),空间复杂度是O(n)。其实归并排序也可以使用遍历的方法实现,每次遍历使用不同的步长即可,但是本人懒得修改了~~ C++...

tassardge的专栏 162

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

[Leetcode Week16]Insertion Sort List

Insertion Sort List 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/insertion-sort-list/description/ Description Sort a linked list using insertion sort. Solution class Solution { private: void ...

weixin_30349597的博客 145

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[leetcode] Sort List

Sort List 问题描述:尝试用O(nlgn)的时间复杂度,O(1)的空间复杂度对一个链表排序 分析 因为是O(nlgn)的时间复杂度,所以我们第一感觉就是快排是否可以? 因为对于每一段数组来说,快排即需要从前向后也需要从后向前。所以对于我们的单向链表来说有点不适合。 那么另一个排序方法:归并排序呢? 归并排序常规的做法是up-to-bottom,即先分只一个元素,然后再合并。 但...

nwpuxhld 225

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

leetcode之Sort List

问题描述如下: Sort a linked list in O(n log n) time using constant space complexity. 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 问题链接 cpp代码如下: class Solution { public: ListNode

limwz的专栏 368

LeetCode || Sort List

Sort List  Sort a linked list in O(n log n) time using constant space complexity.         对一个链表进行排序,且时间复杂度要求为 O(n log n) ,空间复杂度为常量。一看到 O(n log n) 的排序,首先应该想到归并排序和快速排序,但是通常我们使用这两种排序方法时都是针对数组的,现在是链

布衣不舍的专栏 1万+

LeetCode —— Sort List

做了一段时间的leetcode,别看leetcode的算法基础,bianji

菜鸟起飞。。。 600

Sort List Leetcode Python

Sort a linked list in O(n log n) time using constant space complexity. 这道题要求时间为nlogn我们联想到quick sort 或者mergesort这里采用mergesort quick sort的最差为n^2 在逆序的时候。 和array mergesort不同的是这里找Mid 需要用两个pointer一个f

hyperbolechi的专栏 514

LeetCode148——Sort List——merge sort

这道题的题面非常简单,就是简单的对一个乱序的链表进行排序。 以往做的排序问题很多,但是大多数都是在数组中进行排序的。关于链表的排序做的比较少,这里专门开一贴来记录链表中的排序算法。注意这里所说的面向链表的排序算法特指game of pointers,也就是说这里不考虑有些人把数字取到vector里再sort一下放回链表的讨巧做法。 一、插入排序 这是我首先想到的算法,而且它确实非常适合链表这种数据结构。 插入排序需要保留一个有序区,所以这里我用了[Head, Tail]这个区间来指出有序区域的范围,那么我

zheyuan的博客 338

LeetCode Insertion Sort List

原题链接在这里:https://leetcode.com/problems/insertion-sort-list/ 思路:设置cur = head,判断cur.val 和 cur.next.val 大小关系,若是后者小, 就从头往后扫值,一直到有一点的val大于cur.next.val, 然后把cur.next这个点加在那里。 Note: 1. 有可能会更改head,所以加一个dummy h

Dylan_Java_NYC的博客 488

[Leetcode]_148 Sort List

/** * Index: 148 * Title: Sort List * Author: ltree98 **/ 题意 将给定的链表排序,要求时间复杂度 O(nlogn) 空间复杂度O(1) 我的 思路 时间复杂度为O(nlogn)的排序,主流的也就快排和归并,但是归并空间复杂度不合格,所以就是快排。 此题麻烦点在于,这是一个链表,不像数组,可以直接高位低位。 但是,通过快慢...

继续激情,继续奋斗。 338

Sort List 【leetCode】

目录: 1、题目及分析     1.1 题目     1.2 分析 1、题目及分析 1.1 题目:     Sort a linked list in O(n log n) time using constant space complexity. 1.2 分析     O(n log n)的复杂度,所以不能采用冒泡等,这里采用合并排序算法,且为了不采用递归的方式,

wolinxuebin的专栏 989

LeetCode sort-list

题目描述 在O(n log n)的时间内使用常数级空间复杂度对链表进行排序。 Sort a linked list inO(nlogn) time using constant space complexity. 解题思路 新建一个头指针,然后不断将原链表中的结点移动到新链表中并排好序。 (ps:这个方法感觉不太像是nlogn够的) /** * Definition for ...

毛毛的博客 142

LeetCode题解——Sort List

Sort a linked list in O(n log n) time using constant space complexity. 用冒泡:时间超出 用归并:成功解决/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *

susandebug 449
下一篇: 【leetcode】Insertion Sort List
唐辰砂
博客等级 码龄15年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值