首页 > 其他分享 >(链表)12-单链表的排序

(链表)12-单链表的排序

时间:2023-11-14 23:34:55浏览次数:43  
标签:head 单链 ListNode val nums 链表 12 排序

 1 import java.util.*;
 2 
 3 /*
 4  * public class ListNode {
 5  *   int val;
 6  *   ListNode next = null;
 7  *   public ListNode(int val) {
 8  *     this.val = val;
 9  *   }
10  * }
11  */
12 public class Solution {
13     /**
14      * @param head 输入链表的头结点
15      * @return 排序后的链表头节点
16      */
17     public ListNode sortInList (ListNode head) {
18         // 申请临时数组用于排序
19         ArrayList<Integer> nums = new ArrayList();
20         // 申请临时节点作为遍历指针
21         ListNode p = head;
22         // 遍历链表将节点值加入数组
23         while(p != null){
24             nums.add(p.val);
25             p = p.next;
26         }
27         // 对数组元素排序
28         Collections.sort(nums);
29         // 将临时节点指向头结点用于排序后的赋值
30         p = head;
31         // 遍历数组赋值
32         for(int i = 0; i < nums.size(); i++){
33             // 将数组元素依次加入链表
34             p.val = nums.get(i);
35             p = p.next;
36         }
37         return head;
38     }
39 }

 

标签:head,单链,ListNode,val,nums,链表,12,排序
From: https://www.cnblogs.com/StringBuilder/p/17832855.html

相关文章

  • 80th 2023/11/12 NOIP Day-5
    停课训练的第一天,还有六天NOIP抓紧训练记录下今晚小小的思考,有部分偏于思维漏洞用栈模拟一类题,就是一串数中删掉中间一部分数,然后若要将两边重新连上,之前要么花大时间重新赋值,要么用链表导致失去直接用数组\(O(1)\)访问的功能,现在发现还可以用栈,若没有在线修改,那么可以从左往......
  • openGauss学习笔记-123 openGauss 数据库管理-设置账本数据库-账本数据库概述
    openGauss学习笔记-123openGauss数据库管理-设置账本数据库-账本数据库概述123.1背景信息账本数据库融合了区块链思想,将用户操作记录至两种历史表中:用户历史表和全局区块表。当用户创建防篡改用户表时,系统将自动为该表添加一个hash列来保存每行数据的hash摘要信息,同时在blockc......
  • 设计模式实验12实验13
    外观模式 packagetest12;publicclassMemory{publicvoidcheck(){System.out.println("内存自检");}}packagetest12;publicclassHardDisk{publicvoidread(){System.out.println("硬盘读取");}}packa......
  • P2612
    一道插入DP题。分析这一类型的DP大多是对许多段的维护,各个段之间的要求较弱或没有,一般都很难搞。先把概率转成计数。观察题面,我们可以考虑维护一条从上到下类似扫描线的东西,每次计算下移一格的贡献。很明显,在坐标轴上画出图像,应当由数个峰组成。从上往下扫描就会形成一些......
  • chatgpt升级啦,训练数据时间更新到2023年4月,支持tools(升级functionCall),128k上下文
     (2023年11月7日)gpt-4-1106-previewhttps://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo训练数据日期升级到2023年四月上线文增加到128k调用一次chatgpt接口,可以得到多次函数调用 importOpenAIfrom"openai";constopenai=newOpenAI();//Exampledummyfunc......
  • 即时通讯技术文集(第23期):IM安全相关文章(Part12) [共15篇]
    为了更好地分类阅读52im.net总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第23 期。[- 1 -] 理论联系实际:一套典型的IM通信协议设计详解(含安全层设计)[链接] http://www.52im.net/thread-283-1-1.html[摘要] 本文将以理论联系实际的方式,详细讲解一套典......
  • 软件设计实验12:外观模式
    [实验任务一]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。......
  • 202311141210——《一些修改表字段的sql语句》
    ALTERTABLEuserADDCOLUMNtelCHAR(11)AFTERwechat;#添加列ALTERtablecustomermodifycolumnpasswordvarchar(200);#修改列类型ALTERTABLEuserALTERCOLUMNstatusSETDEFAULT1;#设置默认值ALTERTABLEuserMODIFYcolumnemp_idTIMESTAMPDEFAULTNULL......
  • 洛谷 P9129 [USACO23FEB] Piling Papers G
    第一问是简单的,\(2(n-1)-[T=1]\cdot\max\limits_{i=1}^{n}\{dep_i\}\)。对于第二问:设\(f(u)\)表示要求起点和终点均为\(u\)的情况下从\(1\)时刻开始遍历完以\(u\)为根的子树的最小花费,\(g(u)\)表示要求起点为\(u\),重点深度最大的情况下从\(1\)时刻开始遍......
  • ubuntu:python:编译安装过程中的报错(python 3.12/ubuntu 23.10)
    一,参考文档:https://devguide.python.org/getting-started/setup-building/#install-dependencies主要是补充python所需依赖的开发库,如果这些库未安装,则在安装python的过程中就会报出下面所列的错误,安装依赖库的命令:ubuntu如下:sudoapt-getinstallbuild-essentialgdbl......