当前位置:网站首页>Leetcode- insert and sort the linked list
Leetcode- insert and sort the linked list
2022-07-02 04:29:00 【Master_ hl】
Topic content

Sample analysis

Code implementation
public ListNode insertionSortList(ListNode head) {
if(head == null) return null;
ListNode newHead = new ListNode(0);
newHead.next = head;
ListNode SortedLast = head;
ListNode cur = SortedLast.next;
while(cur != null) {
if(SortedLast.val <= cur.val) {
SortedLast = SortedLast.next;
// Continue to judge the next node to be sorted
cur = SortedLast.next;
} else {
// Get into else It means to insert it in front
ListNode prev = newHead;
while(prev.next.val <= cur.val) {
prev = prev.next;
}
// The successor of the last data in the ordered sequence is bound to the next data to be sorted
SortedLast.next = cur.next;
// The successor of the inserted element is bound with the data after it in the ordered sequence
cur.next = prev.next;
// The subsequent data of the previous inserted element is bound to the inserted element
prev.next = cur;
// Continue to judge the next node to be sorted
cur = SortedLast.next;
}
}
return newHead.next;
}Analyze the connection with the arrangement
Key step analysis
When we adjust the order of nodes , First the SortedLast The next element to be sorted , The linked list has two fields , I'm used to tying the back first , Reprocess the successor of the previous element .
Analyze the above figure 1,2,3 Code for :
1. The successor of the last element of an ordered sequence is always bound to the first element of the sequence to be sorted , Cyclic advance else, Indicates that the value of the element to be inserted is less than SortedLast, So put SortedLast The successor of is bound to the next element to be inserted .
2. Whether you enter or not while loop ,prev The value of the position of must be just less than cur Value ,while The function of circulation is to adjust prev The point is just less than cur The previous node of the value of the node .
3. hold prev The successor tied the plug-in cur, To form an orderly sequence .
Complexity analysis
1. Time complexity
The sorting of linked lists is not like arrays , There is no need to move the data , Just change the direction , But because the linked list has no so-called subscript , So the time complexity required to find the subscript of the insertion position is O(n) ,n A sort of data , So the time complexity is O(n^2).
2. Spatial complexity O(1)
This is the end of this article. !!!
边栏推荐
- Microsoft Research Institute's new book "Fundamentals of data science", 479 Pages pdf
- Research on the security of ognl and El expressions and memory horse
- Read "the way to clean code" - function names should express their behavior
- Li Kou interview question 02.08 Loop detection
- 缓存一致性解决方案——改数据时如何保证缓存和数据库中数据的一致性
- Force buckle 540 A single element in an ordered array
- Pytoch --- use pytoch to predict birds
- Wechat applet calculates the distance between the two places
- Markdown编辑语法
- Message mechanism -- message processing
猜你喜欢

Exposure X8标准版图片后期滤镜PS、LR等软件的插件

Its appearance makes competitors tremble. Interpretation of Sony vision-s 02 products

【c语言】基础篇学习笔记

【leetcode】34. Find the first and last positions of elements in a sorted array

Mysql表insert中文变?号的问题解决办法

手撕——排序

Shenzhen will speed up the cultivation of ecology to build a global "Hongmeng Oula city", with a maximum subsidy of 10million yuan for excellent projects

Use of go package

Thinkphp內核工單系統源碼商業開源版 多用戶+多客服+短信+郵件通知

Dare to go out for an interview without learning some distributed technology?
随机推荐
Ten thousand volumes are known to all, and one page of a book is always relevant. TVP reading club will take you through the reading puzzle!
Go branch and loop
Major domestic quantitative trading platforms
[JS -- map string]
Thinkphp内核工单系统源码商业开源版 多用户+多客服+短信+邮件通知
Websites that it people often visit
【提高课】ST表解决区间最值问题【2】
Wechat applet calculates the distance between the two places
记录一次Unity 2020.3.31f1的bug
powershell_ View PowerShell function source code (environment variable / alias) / take function as parameter
Free drawing software recommended - draw io
How to solve the problem that objects cannot be deleted in Editor Mode
Mysql表insert中文变?号的问题解决办法
LCM of Spreadtrum platform rotates 180 °
okcc为什么云呼叫中心比传统呼叫中心更好?
Go language naming specification
Yyds dry inventory compiler and compiler tools
IDEA xml中sql没提示,且方言设置没用。
PIP installation of third-party libraries
WiFi 5GHz frequency

