当前位置: 首页 > news >正文

旅游网站的设计的前提三亚市城乡建设局网站

旅游网站的设计的前提,三亚市城乡建设局网站,河南省建筑一体化平台管理系统,wordpress评分插件一.题目要求 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 二.题目难度 中等 三.输入样例 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输…

一.题目要求

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

二.题目难度

中等

三.输入样例

示例 1:
在这里插入图片描述
输入:head = [4,2,1,3]
输出:[1,2,3,4]

示例 2:
在这里插入图片描述
输入:head = [-1,5,3,4,0]
输出:[-1,0,3,4,5]

示例 3:
输入:head = []
输出:[]

四.解题思路

解法1:用map按值大小存结点
解法2:归并排序(GPT)

五.代码实现

解1

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* sortList(ListNode* head) {ListNode* dummy = new ListNode(0);map<int,vector<ListNode*>> nodeMap;while(head){nodeMap[head->val].push_back(head);head = head->next;}ListNode* p = dummy;for(auto node : nodeMap){for(vector<ListNode*>::iterator it = node.second.begin(); it != node.second.end(); it++){(*it)->next = nullptr;p->next = *it;p = p->next;}}return dummy->next;}
};

解2

class Solution {
public:ListNode* sortList(ListNode* head) {if (!head || !head->next) return head;ListNode* mid = getMid(head);ListNode* left = sortList(head);ListNode* right = sortList(mid);return merge(left, right);}private:ListNode* getMid(ListNode* head) {ListNode* midPrev = nullptr;while (head && head->next) {midPrev = (midPrev == nullptr) ? head : midPrev->next;head = head->next->next;}ListNode* mid = midPrev->next;midPrev->next = nullptr; // 断开链表return mid;}ListNode* merge(ListNode* list1, ListNode* list2) {ListNode dummy(0);ListNode* ptr = &dummy;while (list1 && list2) {if (list1->val < list2->val) {ptr->next = list1;list1 = list1->next;} else {ptr->next = list2;list2 = list2->next;}ptr = ptr->next;}ptr->next = (list1) ? list1 : list2;return dummy.next;}
};

六.题目总结

归并排序在链表排序中非常有效,因为它可以利用链表的节点指针操作,无需像数组那样进行大量的元素交换,其时间复杂度是 O(NlogN),但通常比基于 std::map 的方法更快,因为它具有更好的常数因子和较低的内存使用。

递归分析:

在这里插入代码片
http://www.yayakq.cn/news/439929/

相关文章:

  • 智慧农业网站建设icp网站负责人
  • 德国设计网站大全wordpress流媒体插件
  • 发布广东建设工程信息网站网站照片如何处理
  • 建设官网的网站首页wordpress网站克隆
  • 如何搭建网站中国建设银行云南官网站纪念币
  • 用什么软件做网站前端腰肌劳损的自我治疗和恢复的方法有什么?
  • 教师可以做网站吗镇江发布的最新消息
  • 直播视频网站深圳最大的企业排名
  • 创建网站有什么用石家庄企业官网搭建
  • 贵州城乡建设部网站首页哈尔滨市工程建设项目网
  • 网站建设网页设计培训学校成都网站建设外包业务
  • 辽宁网站建站28招商加盟网
  • 温州网站推广效果做购物商城网站设计
  • 恶意网站是怎么实现的如何制作网站教程视频讲解
  • 网站个人博客怎么做制作网站必做步骤
  • 网站服务器空间价格开发网站公司收入
  • 大良营销网站建设教程网站建设的模板
  • 网站优化代码什么做的网站
  • 做电脑租赁网站网络营销与直播电商课程
  • H5网站建设报价多少佛山网站建设灵格
  • 购物网站建设行情网站如何兼容ie6
  • 什么样的网站做百度广告好郑州网站建设培训班
  • 建站快车加盟长春市制作网站费用
  • 奥维网络高端网站建设公司哪些网站做装修
  • 昆明网站多端小程序设计大专学网站开发与运营
  • 网站开发怎么学习漯河市郾城区网站建设
  • 电脑单页网站建设建设人力资源网站目标
  • 广州网站优化招聘微商城小程序哪个好
  • 驻马店网站建设公司企业服务网站制作
  • 学做系统的网站宁波快速制作网站