This could be done in O(1) if the question would have demanded deletions X's data.
We have been asked to delete the node X itself.
Now, X can be the first, intermediate or last node of SLL.
For SLL, when we are deleting a node, we need to change the reference of the node that was pointing to X, i.e. the node previous to X (say W). We do not have any reference to W. Finding previous node to X would need a list traversal, which takes the worst case time of n.
W found, we can do deletion of X in O(1) now.
Net T(deletion of X) = T(finding_W + removing X) = O(n+1) = O(n).
Answer : A
Note : The pointer Q to X is nothing but giving us the address of the node to be deleted.