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

网站建设建设尉氏做网站

网站建设建设,尉氏做网站,金融行业seo整站优化,长春网站推广排名1、问题 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 2、采用例子 输入:head [4,2,1,3] 输出:[1,2,3,4] 3、实现思路 将链表拆分成节点,存入数组使用sort排序,再用reduce重建链接 4、具…

1、问题

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

2、采用例子    

        输入:head = [4,2,1,3]

        输出:[1,2,3,4]

3、实现思路

        将链表拆分成节点,存入数组使用sort排序,再用reduce重建链接

4、具体步骤

(1)定义链表结构

(2)定义头结点

(3)进入函数

        1)空链表直接返回
                
        2)创建空数组,当前节点
                
        3)进入循环
                
        4)将当前节点加入数组
                
        5)使用临时变量存取当前节点的下一节点,方便后续断开其余节点不丢失

                

        6)断开当前节点(让当前节点的指针指向空即可)
                
        7)将临时变量的值赋给当前节点,进行下一轮循环
        ​​​​​​​        

(4)函数结束后,得到各节点(节点中其实包含有其后续节点,不过不影响),进行sort排序(通过节点的val值比较即可),排序后各节点的next指针为空,通过reduce建立联系,然后返回数组中的一个即可

(5)调用函数,可查看链表是否正确

        

5、完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>排序链表</title>
</head>
<body><p>给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。</p><p>输入:head = [4,2,1,3]输出:[1,2,3,4]</p><script>class ListNode{constructor(val, next){this.val = valthis.next = next}}let head = new ListNode(4,new ListNode(2,new ListNode(3,new ListNode(1))))// console.log(head);sortList(head)function sortList(head){// 空链表if(!head)return head;// 创建数组let arr = []// 当前节点let cur = head// 将链表拆分为数组// 遍历链表while (cur) {// 将当前节点加入链表arr.push(cur)// 将链表后面的节点存入临时变量,方便后面断开节点let tmp = cur.next// 断开链表节点,方便使用sort排序cur.next = null// 链表指针后移,便于添加下一节点cur = tmp}// console.log(arr);// 使用sort排序得到没有联系的有序节点数组,使用reduce添加链表联系// p是前一个值,v当前值arr.sort((a,b)=> a.val-b.val).reduce((p, v) =>  p.next = v)//  console.log(arr);return arr[0]}</script>
</body>
</html>

6、力扣通过代码

var sortList = function(head) {if(!head)return head;// 创建数组let arr = []// 将链表拆分为数组let cur = head// 遍历链表while (cur) {// 将当前节点加入链表arr.push(cur)// 将链表后面的节点存入临时变量,方便后面断开节点let tmp = cur.next// 断开链表节点,方便使用sort排序cur.next = null// 链表指针后移,便于添加下一节点cur = tmp}// console.log(arr);// 使用sort排序得到没有联系的有序节点数组,使用reduce添加链表联系// p是前一个值,v当前值arr.sort((a,b)=> a.val-b.val).reduce((p, v) =>  p.next = v)//  console.log(arr);return arr[0]
};

http://www.yayakq.cn/news/726024/

相关文章:

  • 校园图书馆网站建设北京视频制作公司
  • 深圳市住房和城乡建设局网站商城网站建设一般需要多少钱
  • 网站服务器 免费卖鞋的网站建设思路
  • 婚纱摄影网站开发wordpress 人物页面
  • 自己做社交网站wordpress新用户无法注册
  • 网站设计主题中文wordpress修改摘要字数
  • 接平面设计私活的网站wordpress小工具使用
  • 中小企业建网站哪个好建设银网官方网站
  • 海盐网站设计免费手机网站建设
  • 信用网站建设原则logo在线制作网站
  • 做gif表情包网站建站科技公司
  • 有什么网站可以做一起作业彩妆网站建设
  • 创建个人主页网站Wordpress自建外贸网站
  • 网站建设代理政策有关网站建设的电子商务论文
  • 微商城网站建设策划方案百度云网站备案流程
  • 惠州房地产网站开发做自媒体小视屏哪个网站好
  • 台州房产网站建设动易网站内容管理系统
  • 江阴外贸网站制作个人怎么做ckmov解析网站
  • 如何做网站么酒店品牌策划方案
  • 厦门网站建设屈兴东上海猎头公司排名
  • 北京网络公司网站wordpress 模板开发
  • wordpress 古风主题厦门seo外包公司
  • 做网站杭州快速的可视化平台
  • 蓝色系列的网站做网站课程报告
  • 网站关键词布局wordpress图片间隔
  • 电商网站建设渠道广告设计网上接单
  • 珠海网站制作定制住房城乡建设部门户网站
  • 苏州做网站公司 询苏州聚尚网络广告软文小故事200字
  • 公司网站建设文案做元器件上什么网站
  • 山西企业模板建站公司怎样建设阿里巴巴网站