Skip to the editor
JSGroundwork
JSGroundwork handwritten · web dev
←Back to Linked lists

Ready to read

JSJavaScript⑂Git◎Interview prepΣDSA in JSSDSystem Design
More topics15›
</>HTML{ }CSS⚛ReactNNext.jsNeNest.jsTSTypeScriptNoNode.js🐳DockerDBSQL & Databases✓Testing🔒Web Security☁Cloud & DevOps◈GraphQL◆Redis☸Kubernetes
☰‹›
Description
All topics›JavaScript›Linked lists

Copy List with Random Pointer

advancedlayer B9 · Linked lists5 tests

Every node here has a next pointer and an extra random pointer that may aim at any node in the list or at null. Produce a deep copy: a brand new set of nodes whose pointers mirror the original's shape.

  • No node in the returned list may be a node from the input list
  • If the original's random points at the 3rd node, the copy's random must point at the copy's 3rd node
  • serialize(head) is provided for the tests: it renders a list as pairs of [val, randomIndex]

Stuck?

All exercisesPlayground
1234567891011121314
loading the editor…

Nothing yet — hit Run and whatever you log shows up here.

Submit to see how you did.

⌘/Ctrl + Enter run⌘/Ctrl + S save⌘/Ctrl + / comment⌘/Ctrl + F find/replace⌘/Ctrl + D select next matchAlt + click multi-cursorTab indent · ⇧Tab outdentEsc leave fullscreen