A singly-linked list lets you go forward only (item 0, item 1, item 2 … item n), whereas a doubly linked list lets you go forward or backward.
Mechanically speaking, a singly linked list is a bunch nodes where each node (at a minimum) has some kind of value, and a pointer to the next node, whereas the nodes in a doubly-linked list have that plus a pointer to their previous node.
So this
`{
Val: X,
Next: some_node
}`
versus
`{
Val: X,
Next: some_node,
Prev: other_node
}`
Latest Answers