Concept Flow - Delete from End of Doubly Linked List
Start at tail node
Check if list is empty?
| No
If only one node
| Yes
Set head and tail to null
Else
Move tail pointer to tail.prev
Set new tail.next to null
Delete old tail node
Done
Start from the tail node, check if list is empty or has one node, then update pointers to remove the last node.
