当前位置:网站首页>Leetcode92. reverse linked list II
Leetcode92. reverse linked list II
2022-07-05 03:07:00 【what's your name.】
【 secondary 】 Give you the head pointer of the single linked list head And two integers left and right , among left <= right . Please reverse from position left To the position right The linked list node of , return Inverted list .
Example 1:
Input :head = [1,2,3,4,5], left = 2, right = 4
Output :[1,4,3,2,5]
Example 2:
Input :head = [5], left = 1, right = 1
Output :[5]
Tips :
The number of nodes in the linked list is n
1 <= n <= 500
-500 <= Node.val <= 500
1 <= left <= right <= n
Solution 1 :
ListNode m1(ListNode head, int left, int right) {
ListNode virtual = new ListNode(0, head);
int i = 1;
ListNode end = head;
ListNode prev = virtual;
while (i < right) {
if (i <= left-1) {
prev = prev.next;
}
end = end.next;
i++;
}
ListNode last_t = prev;
ListNode new_t = prev.next;
ListNode next_h = end.next;
last_t.next = reverse(prev.next, end);
new_t.next = next_h;
return virtual.next;
}
Solution 2 :
ListNode m2(ListNode head, int left, int right) {
ListNode v = new ListNode(0, head);
ListNode curr = head;
ListNode next = head.next;
ListNode x = v;
ListNode s = head;
ListNode e = head;
ListNode y = head.next;
for (int i = 1; i < right; i++) {
if (i == left-1) {
x = curr;
s = next;
}
if (i == right-1) {
e = next;
y = next.next;
}
ListNode next_h = next.next;
if (i >= left && i <= right-1) {
next.next = curr;
}
curr = next;
next = next_h;
}
x.next = e;
s.next = y;
return v.next;
}
ListNode reverse(ListNode start, ListNode end) {
ListNode prev = null;
ListNode curr = start;
ListNode stop = end.next;
while (curr != stop) {
ListNode next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
}
return end;
}
边栏推荐
- The latest blind box mall, which has been repaired very popular these days, has complete open source operation source code
- Elk log analysis system
- Share the newly released web application development framework based on blazor Technology
- LeetCode 237. Delete nodes in the linked list
- The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
- ASP. Net core 6 framework unveiling example demonstration [01]: initial programming experience
- TCP security of network security foundation
- This + closure + scope interview question
- 040. (2.9) relieved
- Hmi-32- [motion mode] add light panel and basic information column
猜你喜欢
2021 Li Hongyi machine learning (2): pytorch
Mongodb common commands
Azkaban概述
Scientific research: are women better than men?
ASP. Net core 6 framework unveiling example demonstration [01]: initial programming experience
Vb+access hotel service management system
This + closure + scope interview question
C file in keil cannot be compiled
Pytest (5) - assertion
问题解决:AttributeError: ‘NoneType‘ object has no attribute ‘append‘
随机推荐
Pdf things
2021 Li Hongyi machine learning (1): basic concepts
TCP security of network security foundation
el-select,el-option下拉选择框
Flume配置4——自定义MYSQLSource
Basic authorization command for Curl
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Asemi rectifier bridge 2w10 parameters, 2w10 specifications, 2w10 characteristics
问题解决:AttributeError: ‘NoneType‘ object has no attribute ‘append‘
Pytest (5) - assertion
Spark SQL learning bullet 2
Daily question 2 12
Bumblebee: build, deliver, and run ebpf programs smoothly like silk
Last words record
Dart series: collection of best practices
Vb+access hotel service management system
【LeetCode】98. Verify the binary search tree (2 brushes of wrong questions)
LeetCode --- 1071. Great common divisor of strings problem solving Report
有个疑问 flink sql cdc 的话可以设置并行度么, 并行度大于1会有顺序问题吧?
Azkaban安装部署