Answer is : Option 2
Reason :
Enqueue is implemented by adding a new node at the head of the linkedlist. This will require constant time as we have to update the pointer to head and new node. Hence it is O(1)
Dequeue is implemented by removing a node from the end of the linkedlist and updating the tail pointer. It is a singly linked list with only next pointer. As we do not have a previous pointer, we’ll have to traverse until the next to next of the node is null. In that case, we’ll traverse the whole list once. Hence, it is O(n).
If we add a previous pointer, queue operations can be made more efficient and it’s complexity will be O(1).