Skip to content

Commit 1729b87

Browse files
committed
feat: add solutions to lc problem: No.1669. Merge In Between Linked Lists
1 parent 430a041 commit 1729b87

File tree

4 files changed

+135
-6
lines changed

4 files changed

+135
-6
lines changed

solution/1600-1699/1669.Merge In Between Linked Lists/README.md

+45-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
<li><code>1 <= list2.length <= 10<sup>4</sup></code></li>
4545
</ul>
4646

47-
4847
## 解法
4948

5049
<!-- 这里可写通用的实现逻辑 -->
@@ -56,15 +55,58 @@
5655
<!-- 这里可写当前语言的特殊实现逻辑 -->
5756

5857
```python
59-
58+
# Definition for singly-linked list.
59+
# class ListNode:
60+
# def __init__(self, val=0, next=None):
61+
# self.val = val
62+
# self.next = next
63+
class Solution:
64+
def mergeInBetween(self, list1: ListNode, a: int, b: int, list2: ListNode) -> ListNode:
65+
p = q = list1
66+
for _ in range(a - 1):
67+
p = p.next
68+
for _ in range(b + 1):
69+
q = q.next
70+
p.next = list2
71+
while list2.next:
72+
list2 = list2.next
73+
list2.next = q
74+
return list1
6075
```
6176

6277
### **Java**
6378

6479
<!-- 这里可写当前语言的特殊实现逻辑 -->
6580

6681
```java
67-
82+
/**
83+
* Definition for singly-linked list.
84+
* public class ListNode {
85+
* int val;
86+
* ListNode next;
87+
* ListNode() {}
88+
* ListNode(int val) { this.val = val; }
89+
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
90+
* }
91+
*/
92+
class Solution {
93+
public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
94+
ListNode p = list1;
95+
for (int i = 0; i < a - 1; ++i) {
96+
p = p.next;
97+
}
98+
ListNode q = list1;
99+
for (int i = 0; i < b + 1; ++i) {
100+
q = q.next;
101+
}
102+
p.next = list2;
103+
while (list2.next != null) {
104+
list2 = list2.next;
105+
}
106+
list2.next = q;
107+
return list1;
108+
}
109+
}
68110
```
69111

70112
### **...**

solution/1600-1699/1669.Merge In Between Linked Lists/README_EN.md

+45-3
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,63 @@
3838
<li><code>1 &lt;= list2.length &lt;= 10<sup>4</sup></code></li>
3939
</ul>
4040

41-
4241
## Solutions
4342

4443
<!-- tabs:start -->
4544

4645
### **Python3**
4746

4847
```python
49-
48+
# Definition for singly-linked list.
49+
# class ListNode:
50+
# def __init__(self, val=0, next=None):
51+
# self.val = val
52+
# self.next = next
53+
class Solution:
54+
def mergeInBetween(self, list1: ListNode, a: int, b: int, list2: ListNode) -> ListNode:
55+
p = q = list1
56+
for _ in range(a - 1):
57+
p = p.next
58+
for _ in range(b + 1):
59+
q = q.next
60+
p.next = list2
61+
while list2.next:
62+
list2 = list2.next
63+
list2.next = q
64+
return list1
5065
```
5166

5267
### **Java**
5368

5469
```java
55-
70+
/**
71+
* Definition for singly-linked list.
72+
* public class ListNode {
73+
* int val;
74+
* ListNode next;
75+
* ListNode() {}
76+
* ListNode(int val) { this.val = val; }
77+
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
78+
* }
79+
*/
80+
class Solution {
81+
public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
82+
ListNode p = list1;
83+
for (int i = 0; i < a - 1; ++i) {
84+
p = p.next;
85+
}
86+
ListNode q = list1;
87+
for (int i = 0; i < b + 1; ++i) {
88+
q = q.next;
89+
}
90+
p.next = list2;
91+
while (list2.next != null) {
92+
list2 = list2.next;
93+
}
94+
list2.next = q;
95+
return list1;
96+
}
97+
}
5698
```
5799

58100
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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 mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
13+
ListNode p = list1;
14+
for (int i = 0; i < a - 1; ++i) {
15+
p = p.next;
16+
}
17+
ListNode q = list1;
18+
for (int i = 0; i < b + 1; ++i) {
19+
q = q.next;
20+
}
21+
p.next = list2;
22+
while (list2.next != null) {
23+
list2 = list2.next;
24+
}
25+
list2.next = q;
26+
return list1;
27+
}
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Definition for singly-linked list.
2+
# class ListNode:
3+
# def __init__(self, val=0, next=None):
4+
# self.val = val
5+
# self.next = next
6+
class Solution:
7+
def mergeInBetween(self, list1: ListNode, a: int, b: int, list2: ListNode) -> ListNode:
8+
p = q = list1
9+
for _ in range(a - 1):
10+
p = p.next
11+
for _ in range(b + 1):
12+
q = q.next
13+
p.next = list2
14+
while list2.next:
15+
list2 = list2.next
16+
list2.next = q
17+
return list1

0 commit comments

Comments
 (0)