当前位置:网站首页>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;
}
边栏推荐
- Ask, does this ADB MySQL support sqlserver?
- Devtools的简单使用
- [200 opencv routines] 99 Modified alpha mean filter
- Zabbix
- How can we truncate the float64 type to a specific precision- How can we truncate float64 type to a particular precision?
- 1.五层网络模型
- Tiny series rendering tutorial
- 有個疑問 flink sql cdc 的話可以設置並行度麼, 並行度大於1會有順序問題吧?
- GFS distributed file system
- This + closure + scope interview question
猜你喜欢

Pytest (4) - test case execution sequence

Single box check box

Idea inheritance relationship

Anchor free series network yolox source code line by line explanation Part 2 (a total of 10, ensure to explain line by line, after reading, you can change the network at will, not just as a participan

Talk about the SQL server version of DTM sub transaction barrier function

Class inheritance in C #

Azkaban概述

端口,域名,协议。

Sqoop command

VM in-depth learning (XXV) -class file overview
随机推荐
Qrcode: generate QR code from text
Devtools的簡單使用
Design and implementation of high availability website architecture
PHP cli getting input from user and then dumping into variable possible?
Linux Installation redis
SPI and IIC communication protocol
2022/02/13
Cut! 39 year old Ali P9, saved 150million
Spark SQL learning bullet 2
GFS分布式文件系统
Accuracy problem and solution of BigDecimal
[daily problem insight] Li Kou - the 280th weekly match (I really didn't know it could be so simple to solve other people's problems)
Bumblebee: build, deliver, and run ebpf programs smoothly like silk
Anchor free series network yolox source code line by line explanation four (a total of ten, ensure line by line explanation, after reading, you can change the network at will, not just as a participan
Simple use of devtools
Class inheritance in C #
8. Commodity management - commodity classification
Mongodb common commands
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Share the newly released web application development framework based on blazor Technology