A singly linked list gives each node one pointer, aimed at the next node. You can only walk forward, from the head toward the tail. To reach the previous node, you must restart from the head.
A doubly linked list adds a second pointer, aimed at the previous node. Now you can walk in both directions. Deleting a node you already hold becomes easy, since you reach its neighbor on each side directly.
That second pointer costs memory and upkeep. A million nodes carry a million more references, and each insert updates two links instead of one. Pick doubly when you delete or scan backward often, and singly when forward-only is enough.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
A singly linked list node has one pointer, to the next node, and a doubly linked list node adds a second pointer back to the previous node.
With only next pointers you can walk forward from head to tail, and reaching an earlier node means starting over from the head.
The prev pointer lets you walk both ways. It also makes deleting a node you already hold easy, because both neighbors are one step away and you just relink them.
That second pointer isn't free. A million nodes carry a million extra references, and every insert has to update two links instead of one.
So I'd pick doubly when I delete or scan backward often, and stay with singly when walking forward is all I need.
Weak answers to avoid
Stops at one pointer versus twoThat's only the definition. Say what the prev pointer buys, walking both ways and easy deletion of a node you hold, and what it costs in memory and link updates.
Claims doubly makes every delete O(1)Only when you already hold the node. Finding it by value is still an O(n) walk in either list, so say where the node reference comes from.
Says doubly is always the better choiceEvery node carries an extra reference and every insert touches more links. If you only walk forward, a singly list is smaller and simpler.
Says doubly gives faster search or indexingBoth lists still walk node by node to find a value or the kth element. The prev pointer adds a direction to walk in. It doesn't add an index.
Interview lens
Likely follow-ups, what you can say, and the weak answers to avoid.