Implement the `size()` method for the `DoublyLinkedList` class, assuming size is not maintained as an instance variable.
a) Iterate through the entire linked list and count the number of nodes.
b) Keep track of the size during each insertion and deletion operation.
c) Use a separate counter variable that gets updated on each modification to the list.
d) Implement a recursive function to traverse the list and count the nodes.