【每日一题】06 排序链表

问题描述

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。

求解

c 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* sortList(struct ListNode* head) {
        struct ListNode * p = head;
        if(p == NULL){
            return head;
        }
        struct ListNode * q = head->next;
        int t;
        while(p->next != NULL){
            while(q !=NULL){
                
                //printf("before: p: %d, q: %d\n", p->val, q->val);
                if(p->val > q->val){
                    t = p->val;
                    p->val = q->val;
                    q->val = t;
                }
                //printf("after: p: %d, q: %d\n", p->val, q->val);
                q = q->next;
                
            

            }
            p = p->next;
            //printf("p : %d\n", p->val);
            q = p->next;
            //printf("q : %d\n", q->val);
        }

        
        return head;
}

该方法时间复杂度O(n^2)过高

后续补上使用快速排序方法提升时间复杂度

相关推荐
写写闲篇儿3 小时前
下一个更大元素(一)
数据结构·算法
炽烈小老头5 小时前
【每天学习一点算法 2025/12/19】二叉树的层序遍历
数据结构·学习·算法
Queenie_Charlie6 小时前
HASH表
数据结构·c++·哈希算法
im_AMBER8 小时前
数据结构 13 图 | 哈希表 | 树
数据结构·笔记·学习·算法·散列表
LYFlied8 小时前
【算法解题模板】动态规划:从暴力递归到优雅状态转移的进阶之路
数据结构·算法·leetcode·面试·动态规划
合方圆~小文9 小时前
4G定焦球机摄像头综合介绍产品指南
数据结构·数据库·人工智能
FMRbpm9 小时前
串练习--------535.TinyURL的加密和解密
数据结构·c++·新手入门
Bruce_kaizy10 小时前
c++单调数据结构————单调栈,单调队列
开发语言·数据结构·c++
阿坤带你走近大数据10 小时前
Python基础知识-数据结构篇
开发语言·数据结构·python
dragoooon3410 小时前
[C++——lesson32.数据结构进阶——「初识哈希」]
数据结构·c++·哈希算法