From 8bebc6e163e9894ce360fa57311f51060b35dca2 Mon Sep 17 00:00:00 2001 From: zhaocchen Date: Thu, 10 Jun 2021 23:32:19 +0800 Subject: [PATCH] feat: add typescript solution to lc problem: No.0328.Odd Even Linked List --- .../0328.Odd Even Linked List/README.md | 30 +++++++++++++++++++ .../0328.Odd Even Linked List/README_EN.md | 30 +++++++++++++++++++ .../0328.Odd Even Linked List/Solution.ts | 25 ++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 solution/0300-0399/0328.Odd Even Linked List/Solution.ts diff --git a/solution/0300-0399/0328.Odd Even Linked List/README.md b/solution/0300-0399/0328.Odd Even Linked List/README.md index 2ff66f52d88dd..27ba5aca0264a 100644 --- a/solution/0300-0399/0328.Odd Even Linked List/README.md +++ b/solution/0300-0399/0328.Odd Even Linked List/README.md @@ -94,6 +94,36 @@ class Solution { } ``` +### **TypeScript** + +```ts +/** + * Definition for singly-linked list. + * class ListNode { + * val: number + * next: ListNode | null + * constructor(val?: number, next?: ListNode | null) { + * this.val = (val===undefined ? 0 : val) + * this.next = (next===undefined ? null : next) + * } + * } + */ + +function oddEvenList(head: ListNode | null): ListNode | null { + if (head == null) return head; + let odd: ListNode = head, even: ListNode = head.next; + let evenHead = even; + while (even != null && even.next != null) { + odd.next = even.next; + odd = odd.next; + even.next = odd.next; + even = even.next; + } + odd.next = evenHead; + return head; +}; +``` + ### **C++** ```cpp diff --git a/solution/0300-0399/0328.Odd Even Linked List/README_EN.md b/solution/0300-0399/0328.Odd Even Linked List/README_EN.md index d99ea9e54db10..e723b08e32b21 100644 --- a/solution/0300-0399/0328.Odd Even Linked List/README_EN.md +++ b/solution/0300-0399/0328.Odd Even Linked List/README_EN.md @@ -95,6 +95,36 @@ class Solution { } ``` +### **TypeScript** + +```ts +/** + * Definition for singly-linked list. + * class ListNode { + * val: number + * next: ListNode | null + * constructor(val?: number, next?: ListNode | null) { + * this.val = (val===undefined ? 0 : val) + * this.next = (next===undefined ? null : next) + * } + * } + */ + +function oddEvenList(head: ListNode | null): ListNode | null { + if (head == null) return head; + let odd: ListNode = head, even: ListNode = head.next; + let evenHead = even; + while (even != null && even.next != null) { + odd.next = even.next; + odd = odd.next; + even.next = odd.next; + even = even.next; + } + odd.next = evenHead; + return head; +}; +``` + ### **C++** ```cpp diff --git a/solution/0300-0399/0328.Odd Even Linked List/Solution.ts b/solution/0300-0399/0328.Odd Even Linked List/Solution.ts new file mode 100644 index 0000000000000..66bead71a08ce --- /dev/null +++ b/solution/0300-0399/0328.Odd Even Linked List/Solution.ts @@ -0,0 +1,25 @@ +/** + * Definition for singly-linked list. + * class ListNode { + * val: number + * next: ListNode | null + * constructor(val?: number, next?: ListNode | null) { + * this.val = (val===undefined ? 0 : val) + * this.next = (next===undefined ? null : next) + * } + * } + */ + + function oddEvenList(head: ListNode | null): ListNode | null { + if (head == null) return head; + let odd: ListNode = head, even: ListNode = head.next; + let evenHead = even; + while (even != null && even.next != null) { + odd.next = even.next; + odd = odd.next; + even.next = odd.next; + even = even.next; + } + odd.next = evenHead; + return head; +}; \ No newline at end of file