当前位置:网站首页>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. !!!
边栏推荐
- Wechat applet pull-down loading more waterfall flow loading
- Sword finger offer II 006 Sort the sum of two numbers in the array
- Yyds dry inventory compiler and compiler tools
- There is no prompt for SQL in idea XML, and the dialect setting is useless.
- Shutdown procedure after 60
- What is 5g industrial wireless gateway? What functions can 5g industrial wireless gateway achieve?
- The core idea of performance optimization, dry goods sharing
- Keil compilation code of CY7C68013A
- 汇编语言中的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF
- 深圳打造全球“鸿蒙欧拉之城”将加快培育生态,优秀项目最高资助 1000 万元
猜你喜欢

缓存一致性解决方案——改数据时如何保证缓存和数据库中数据的一致性

Deeply understand the concepts of synchronization and asynchrony, blocking and non blocking, parallel and serial

How to model noise data? Hong Kong Baptist University's latest review paper on "label noise representation learning" comprehensively expounds the data, objective function and optimization strategy of
![[C language] Dynamic Planning --- from entry to standing up](/img/7e/29482c8f3970bb1a40240e975ef97f.png)
[C language] Dynamic Planning --- from entry to standing up
![Learn AI safety monitoring project from zero [attach detailed code]](/img/a9/cb93f349229e86cbb05ad196ae9553.jpg)
Learn AI safety monitoring project from zero [attach detailed code]

What is 5g industrial wireless gateway? What functions can 5g industrial wireless gateway achieve?

Cache consistency solution - how to ensure the consistency between the cache and the data in the database when changing data

Federal learning: dividing non IID samples according to Dirichlet distribution

office_ Delete the last page of word (the seemingly blank page)

6月书讯 | 9本新书上市,阵容强大,闭眼入!
随机推荐
Fluent icon demo
WiFi 5GHz frequency
Document declaration and character encoding
Déchirure à la main - tri
Spring recruitment of Internet enterprises: Kwai meituan has expanded the most, and the annual salary of technical posts is up to nearly 400000
【c语言】基础篇学习笔记
千亿市场规模医疗美容行业的水究竟有多浑?
June book news | 9 new books are listed, with a strong lineup and eyes closed!
Three years of experience in Android development interview (I regret that I didn't get n+1, Android bottom development tutorial
Arbre binaire pour résoudre le problème (2)
[JS -- map string]
Wechat applet calculates the distance between the two places
阿里云polkit pkexec 本地提权漏洞
Target free or target specific: a simple and effective zero sample position detection comparative learning method
Binary tree problem solving (1)
[improvement class] st table to solve the interval maximum value problem [2]
【leetcode】34. Find the first and last positions of elements in a sorted array
C language practice - binary search (half search)
The difference between vectorresize and reverse.
Wechat applet pull-down loading more waterfall flow loading

