Skip to content

Commit c45c85a

Browse files
authored
Merge pull request #2412 from PorasS/main
Create 0092-reverse-linked-list-ll.java
2 parents c319232 + 520f57a commit c45c85a

File tree

2 files changed

+62
-1
lines changed

2 files changed

+62
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ If you would like to have collaborator permissions on the repo to merge your own
183183
<sub>[0148 - Sort List](https://leetcode.com/problems/sort-list/)</sub> | <sub><div align='center'>[✔️](c%2F0148-sort-list.c)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0148-sort-list.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0148-sort-list.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
184184
<sub>[0086 - Partition List](https://leetcode.com/problems/partition-list/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0086-partition-list.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0086-partition-list.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
185185
<sub>[0061 - Rotate List](https://leetcode.com/problems/rotate-list/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0061-rotate-list.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0061-rotate-list.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0061-rotate-list.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
186-
<sub>[0092 - Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0092-reverse-linked-list-ii.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'></div></sub> | <sub><div align='center'>[✔️](javascript%2F0092-reverse-linked-list-ii.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0092-reverse-linked-list-ii.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
186+
<sub>[0092 - Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0092-reverse-linked-list-ii.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0092-reverse-linked-list-ll.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0092-reverse-linked-list-ii.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0092-reverse-linked-list-ii.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
187187
<sub>[0622 - Design Circular Queue](https://leetcode.com/problems/design-circular-queue/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0622-design-circular-queue.go)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0622-design-circular-queue.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0622-design-circular-queue.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
188188
<sub>[0147 - Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0147-insertion-sort-list.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
189189
<sub>[0146 - LRU Cache](https://leetcode.com/problems/lru-cache/)</sub> | <sub><div align='center'>[✔️](c%2F0146-lru-cache.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0146-lru-cache.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0146-lru-cache.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0146-lru-cache.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0146-lru-cache.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0146-lru-cache.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0146-lru-cache.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0146-lru-cache.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0146-lru-cache.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* public class ListNode {
4+
* int val;
5+
* ListNode next;
6+
* ListNode() {}
7+
* ListNode(int val) { this.val = val; }
8+
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
9+
* }
10+
*/
11+
class Solution {
12+
public ListNode reverseBetween(ListNode head, int left, int right) {
13+
14+
if (head == null || head.next == null) {
15+
return head;
16+
}
17+
18+
if (left > right || left == right) {
19+
return head;
20+
}
21+
22+
ListNode l = head;
23+
ListNode prevL = null;
24+
ListNode r = head;
25+
ListNode nextR = null;
26+
int posL = 1;
27+
int posR = 1;
28+
29+
while (posL != left) {
30+
prevL = l;
31+
l = l.next;
32+
posL++;
33+
}
34+
35+
while (posR != right) {
36+
r = r.next;
37+
posR++;
38+
}
39+
40+
nextR = r.next;
41+
r.next = null;
42+
ListNode node = reverseList(l);
43+
node.next = nextR;
44+
if (prevL == null) {
45+
head = r;
46+
} else {
47+
prevL.next = r;
48+
}
49+
return head;
50+
}
51+
52+
public ListNode reverseList(ListNode l) {
53+
if (l.next == null) {
54+
return l;
55+
}
56+
ListNode newNode = reverseList(l.next);
57+
newNode.next = l;
58+
l.next = null;
59+
return l;
60+
}
61+
}

0 commit comments

Comments
 (0)