Feeling guilt tripped in linked list
Let's show that $\{a^n b^n : n \geq 0\}$ is not regular using Myhill's criterion (there are infinitely many equivalence classes):


  The pumping lemma shows that $\{a^n b^n : n \geq 0\}$ is not regular. According to Myhill's criterion, if a language is not regular then it has infinitely many equivalence classes. Therefore the language has infinitely many equivalence classes, and consequently, by Myhill's criterion is not regular.


This may sound silly, but it is very similar to how you are using vectors to solve questions "using linked lists".

The alternative is to look for algorithms that can be implemented directly on linked lists. For example, one sorting algorithm which can be implemented directly is merge sort. Merge sort consists of the following operations:


Divide the input into two sublists of nearly equal size. Easy to do on a linked list using a simple scan.
Recursively sort each sublist.
Merge the two sorted sublists. The merge algorithm is also easy to implement on a linked list.


In contrast, an algorithm like quicksort seems hard to implement directly without having random access.