public Digraph reverse() {
   Digraph rDigraph = new Digraph(V);
   for (int v = 0; v < V; v++) {
     for (int w : adj[v]) {
       rDigraph.addEdge(w, v);
     }
   }
   return rDigraph;
 }