0% completed
Solution: Problem Challenge 1: Reverse alternating K-element Sub-list
Problem Statement
Given the head of a LinkedList and a number k, reverse every alternating k sized sub-list starting from the head.
If, in the end, you are left with a sub-list with less than k elements, reverse it too.
Constraints:
- The number of nodes in the list is n.
1 <= k <= n <= 50000 <= Node.val <= 1000
Why this is an In-place Reversal of a Linked List problem
| What the question says | The signal it matches |
|---|---|
| "Given the head of a LinkedList and a number" k | the input is a linked list |
.....
.....
.....
Sajid Khan
· 25 days ago
class Solution { reverse(head, k) { const dummy = new Node(-1, head); let current = dummy; while (current.next) { const next = current.next; const last = this.getNode(current, k); const prev = last.next; last.next = null; current.next = this.reverseList(current.next, prev); current = this.getNode(next, k); } return dummy.next; } reverseList(node, prev) { while (node) { const next = node.next; node.next = prev; prev = node; node = next; } return prev; } getNode(head, position) { while (head && head.next && position > 0) { head = head.next; position--; } return head; } }
dos
· 2 months ago
Why my saved code just disappeared ? seems you have TTL for the code submitted. is there any way to restore ?
Shaho Shahbazpanahi
· a year ago
For this input [1,2,3,4,5,6,7,8,9,10,11] and k= 3, then expected output should be [3,2,1,6, 5, 4,10, 8,9,11, 10] while the solution give us [3,2,1,6, 5, 4,10, 8,9, 10, 11] , the problem stats if the rest of lis is smaller than k, revese it to .
Lucas
· 4 years ago
Here is my solution! Hope it doesnt crack under pressure :)

Reading Progress
0%