Skip to content

Commit 0a79c65

Browse files
authored
feat: add typescript solution to lc problem: No.0328.Odd Even Linked List (doocs#445)
1 parent e932212 commit 0a79c65

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed

solution/0300-0399/0328.Odd Even Linked List/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,36 @@ class Solution {
9494
}
9595
```
9696

97+
### **TypeScript**
98+
99+
```ts
100+
/**
101+
* Definition for singly-linked list.
102+
* class ListNode {
103+
* val: number
104+
* next: ListNode | null
105+
* constructor(val?: number, next?: ListNode | null) {
106+
* this.val = (val===undefined ? 0 : val)
107+
* this.next = (next===undefined ? null : next)
108+
* }
109+
* }
110+
*/
111+
112+
function oddEvenList(head: ListNode | null): ListNode | null {
113+
if (head == null) return head;
114+
let odd: ListNode = head, even: ListNode = head.next;
115+
let evenHead = even;
116+
while (even != null && even.next != null) {
117+
odd.next = even.next;
118+
odd = odd.next;
119+
even.next = odd.next;
120+
even = even.next;
121+
}
122+
odd.next = evenHead;
123+
return head;
124+
};
125+
```
126+
97127
### **C++**
98128

99129
```cpp

solution/0300-0399/0328.Odd Even Linked List/README_EN.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,36 @@ class Solution {
9595
}
9696
```
9797

98+
### **TypeScript**
99+
100+
```ts
101+
/**
102+
* Definition for singly-linked list.
103+
* class ListNode {
104+
* val: number
105+
* next: ListNode | null
106+
* constructor(val?: number, next?: ListNode | null) {
107+
* this.val = (val===undefined ? 0 : val)
108+
* this.next = (next===undefined ? null : next)
109+
* }
110+
* }
111+
*/
112+
113+
function oddEvenList(head: ListNode | null): ListNode | null {
114+
if (head == null) return head;
115+
let odd: ListNode = head, even: ListNode = head.next;
116+
let evenHead = even;
117+
while (even != null && even.next != null) {
118+
odd.next = even.next;
119+
odd = odd.next;
120+
even.next = odd.next;
121+
even = even.next;
122+
}
123+
odd.next = evenHead;
124+
return head;
125+
};
126+
```
127+
98128
### **C++**
99129

100130
```cpp
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* class ListNode {
4+
* val: number
5+
* next: ListNode | null
6+
* constructor(val?: number, next?: ListNode | null) {
7+
* this.val = (val===undefined ? 0 : val)
8+
* this.next = (next===undefined ? null : next)
9+
* }
10+
* }
11+
*/
12+
13+
function oddEvenList(head: ListNode | null): ListNode | null {
14+
if (head == null) return head;
15+
let odd: ListNode = head, even: ListNode = head.next;
16+
let evenHead = even;
17+
while (even != null && even.next != null) {
18+
odd.next = even.next;
19+
odd = odd.next;
20+
even.next = odd.next;
21+
even = even.next;
22+
}
23+
odd.next = evenHead;
24+
return head;
25+
};

0 commit comments

Comments
 (0)