Finds the sequence of edges in an Euler path starting from u, assuming it exists and that the graph is directed. Undefined behavior if this precondition is violated. To extend this to undirected graphs, maintain a visited array to skip the reverse edge.
(&self, u: usize)