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
No
Move tail pointer to tail.prev
Set new tail.next to null
Done
Start from the tail node, check if list is empty or has one node, then update tail pointer and remove last node.
