LintCode 链表排序[通俗易懂]

LintCode 链表排序[通俗易懂]题目描述:在O(nlogn)时间复杂度和常数级的空间复杂度下给链表排序。样例给出1->3->2->null,给它排序变成1->2->3->null.思路分析:sort扫一遍~ac代码:/***DefinitionofListNode*classListNode{*public:*intval;*ListNode*next;

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

题目描述:

在 O(n log n) 时间复杂度和常数级的空间复杂度下给链表排序。

样例
给出 1->3->2->null,给它排序变成 1->2->3->null.

思路分析:

sort扫一遍~

ac代码:

/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */
class Solution { 
   
public:
    /** * @param head: The first node of linked list. * @return: You should return the head of the sorted linked list, using constant space complexity. */
    ListNode *sortList(ListNode *head) {
        // write your code here

int a[1000005];
int top=0;
while(head!=NULL)
{
    a[top++]=head->val;
    head=head->next;
}
sort(a,a+top);
ListNode *dummy,*r,*s;
dummy=new ListNode(0);
r=dummy;
for(int i=0;i<top;i++)
{
    s=new ListNode(a[i]);
    r->next=s;
    r=s;
}
return dummy->next;

    }
};


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184193.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c++入门教程–-8循环控制语句

    c++入门教程–-8循环控制语句

    2021年3月12日
    142
  • C#之CMD

    C#之CMD

    2021年8月18日
    61
  • 前端面试题angular_Vue前端面试题

    前端面试题angular_Vue前端面试题Angular1,ng-if跟ng-show/hide的区别有哪些?第一点区别是,ng-if在后面表达式为true的时候才创建这个dom节点,ng-show是初始时就创建了,用display:block和display:none来控制显示和不显示。第二点区别是,ng-if会(隐式地)产生新作用域,ng-switch、ng-include等会动态创建一块界面的…

    2022年10月10日
    1
  • javascript 数组求和_javascript数组的定义

    javascript 数组求和_javascript数组的定义eval()函数可计算某个字符串,并执行其中的的JavaScript代码。语法eval(string)string必须是一个合法的表达式和语句,否则抛出异常示例leta=[1,2,3,4,5,6,7,8,9]console.log(eval(a.join(‘+’)))//45console.log(eval(“x=10;y=20…

    2022年10月2日
    1
  • 线程通信(ITC)

    线程通信(ITC)为什么要通信通信是人的基本需求。而进程作为人的发明,自然脱离不了人的习性,也有通信需求。如果进程之间不进行任何通信,那么进程所能完成的任务就要大打折扣。例如,父进程在创建子进程后,通常须要监督子进程的状态,以便在子进程没有完成给定的任务时,可以再创建一个子进程来继续。这就需要父子进程间通信。而线程间的通信则需要更多。由于一个进程通常包括多个线程,这多个线程之间因资源共享自然地就存在一种合作关系。这种合作关系虽然可以表现为相互独立,但更多地时候是互相交互。这就是通信。就像舞台上的多个演员,他们之间是一种

    2022年6月19日
    51
  • 惠普台式机如何装系统_惠普的台式机如何用u盘安装系统

    惠普台式机如何装系统_惠普的台式机如何用u盘安装系统惠普在计算机行业是一个很有声誉的品牌,无论是台式机还是笔记本,惠普都是一款值得考虑和购买的品牌产品之一。但是当计算机系统出了问题需要重装系统时,很多人并不知道如何进行系统的重装,那么惠普的台式机如何进行重装系统呢?下面介绍一下台式小机惠普电脑怎么装系统。惠普电脑装系统步骤阅读1、打开浏览器搜索云骑士官网,找到云骑士官网并点击打开。2、在官网下载云骑士一键重装系统软件,下载后打开云骑士装机大师。3、…

    2022年8月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号