The entire interview was done over a online code editor. It took less than an hour total, including the questions I had for my interviewer.
Initially used a counter hash to count all the elements and do another pass and return the first unique element (O(n) time/space).
Then they asked me to do it without a counter hash so I used a hash keeping the indices and updating the key/value pair as I hit them (Still O(n) time/space).
I did mention using XOR for duplicate elements occuring at most twice/even numbers and sorting the array and returning the first element that doesn't repeat (O(1) space but O(n) and O(nlogn) time respectively).
Except singly-linked but done the same way. Used recursion initially returning the tail instead of the head but switched to using a stack once I realized it was just a simple dfs traversal on a binary tree.