deep copy of a linked list
TRANSCRIPT
![Page 1: Deep Copy of a Linked List](https://reader038.vdocument.in/reader038/viewer/2022100807/58ad67201a28ab9e428b5833/html5/thumbnails/1.jpg)
ListNode
data: l
next: l
Suppose we want to deep copy a list node, but not the ReadThis object…
ReadThis
url: l
currentPoints: 0
String
value: …
![Page 2: Deep Copy of a Linked List](https://reader038.vdocument.in/reader038/viewer/2022100807/58ad67201a28ab9e428b5833/html5/thumbnails/2.jpg)
ListNode
data: l
next: l
ReadThis
url: l
currentPoints: 0
String
value: …
Make a new ListNode:
ListNode
data: l
next: l
![Page 3: Deep Copy of a Linked List](https://reader038.vdocument.in/reader038/viewer/2022100807/58ad67201a28ab9e428b5833/html5/thumbnails/3.jpg)
ListNode
data: l
next: l
Make a new ReadThis:
ListNode
data: l
next: l
name: l
currentPoints: 0
ReadThis
ReadThis
url: l
currentPoints: 0
String
value: …
![Page 4: Deep Copy of a Linked List](https://reader038.vdocument.in/reader038/viewer/2022100807/58ad67201a28ab9e428b5833/html5/thumbnails/4.jpg)
name: l
currentPoints: 0
ReadThis
ListNode
data: l
next: l
Copy the ReadThis’s String reference and currentPoints value:
ListNode
data: l
next: l
ReadThis
url: l
currentPoints: 0
String
value: …
![Page 5: Deep Copy of a Linked List](https://reader038.vdocument.in/reader038/viewer/2022100807/58ad67201a28ab9e428b5833/html5/thumbnails/5.jpg)
ListNode
data: l
next: l
Point the new list node’s data to the new ReadThis:
ListNode
data: l
next: l
name: l
currentPoints: 0
ReadThis
ReadThis
url: l
currentPoints: 0
String
value: …
![Page 6: Deep Copy of a Linked List](https://reader038.vdocument.in/reader038/viewer/2022100807/58ad67201a28ab9e428b5833/html5/thumbnails/6.jpg)
ListNode
data: l
next: l
Now we have a deep copy of the ListNode.
ListNode
data: l
next: l
name: l
currentPoints: 0
ReadThis
ReadThis
url: l
currentPoints: 0
String
value: …