feat(528-swapping-nodes-in-a-ll): add py3 solution

This commit is contained in:
2022-04-04 22:31:58 +05:30
parent da5d790d16
commit 2c0614e7df
3 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# NOTE: Not the best approach, since we use O(N) space
# Time: O(N)
class Solution:
def swapNodes(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:
# Figure out length of LL and cache nodes by the index
length = 0
cache = {}
ptr = head
while ptr != None:
cache[length] = ptr
length += 1
ptr = ptr.next
cache[k - 1].val, cache[length - k].val = cache[length - k].val, cache[k - 1].val
return head