diff --git a/solution/0000-0099/0025.Reverse Nodes in k-Group/README.md b/solution/0000-0099/0025.Reverse Nodes in k-Group/README.md index 86227dea94ea9..8b1bac6d4cb7c 100644 --- a/solution/0000-0099/0025.Reverse Nodes in k-Group/README.md +++ b/solution/0000-0099/0025.Reverse Nodes in k-Group/README.md @@ -155,6 +155,59 @@ 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 reverseKGroup(head: ListNode | null, k: number): ListNode | null { + let dummy = new ListNode(0, head); + let pre = dummy; + // pre->head-> ... ->tail-> next + while (head != null) { + let tail = pre; + for (let i=0; i next -> ... -> tail -> pre + while (pre != tail) { + let t = cur.next; + cur.next = pre; + pre = cur; + cur = t; + } + return [tail, head] +} +``` + ### **Go** ```go diff --git a/solution/0000-0099/0025.Reverse Nodes in k-Group/README_EN.md b/solution/0000-0099/0025.Reverse Nodes in k-Group/README_EN.md index 02c463836d70b..271adc2dae96d 100644 --- a/solution/0000-0099/0025.Reverse Nodes in k-Group/README_EN.md +++ b/solution/0000-0099/0025.Reverse Nodes in k-Group/README_EN.md @@ -142,6 +142,59 @@ 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 reverseKGroup(head: ListNode | null, k: number): ListNode | null { + let dummy = new ListNode(0, head); + let pre = dummy; + // pre->head-> ... ->tail-> next + while (head != null) { + let tail = pre; + for (let i=0; i next -> ... -> tail -> pre + while (pre != tail) { + let t = cur.next; + cur.next = pre; + pre = cur; + cur = t; + } + return [tail, head] +} +``` + ### **Go** ```go diff --git a/solution/0000-0099/0025.Reverse Nodes in k-Group/Solution.ts b/solution/0000-0099/0025.Reverse Nodes in k-Group/Solution.ts new file mode 100644 index 0000000000000..1d931106a13d9 --- /dev/null +++ b/solution/0000-0099/0025.Reverse Nodes in k-Group/Solution.ts @@ -0,0 +1,48 @@ +/** + * 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 reverseKGroup(head: ListNode | null, k: number): ListNode | null { + let dummy = new ListNode(0, head); + let pre = dummy; + // pre->head-> ... ->tail-> next + while (head != null) { + let tail = pre; + for (let i=0; i next -> ... -> tail -> pre + while (pre != tail) { + let t = cur.next; + cur.next = pre; + pre = cur; + cur = t; + } + return [tail, head] +} \ No newline at end of file