2017-03-16 3 views
0

ノードが含まれています(文字列から、文字列まで、int時間)。 HashMapを指定すると、keyはStringであり、valueはfromと同じNodeのリストです。グラフでDFSを実行する際の問題

与えられた開始点(String start)から終了点(String end)までのすべての可能なパスを見つける関数を記述したいと思います。私はdfs関数を書こうとしましたが、結果セットは1つしか返されません。誰でも助けることができますか?

  • ノード:文字列からint型の時に文字列
  • 一覧> RES:現在のノード
  • のHashMap>グラフを記録する一時リスト:キーがあるノード
  • 一覧リストのリストの結果一覧すべての値から、値が
  • CURと同じでノードのリストである:
  • 各DFSを開始値から開始し、変更終了:先
  • 訪問:セットは、私はあなたがSet JavaDocを見ればバグがライン

    visited.remove(visited.size()-1); 
    

    であることを疑う

    ​​

答えて

0

へ/からの訪問記録するために、あなただけのremove方法があることがわかりますboolean remove(Object o)Listのようにインデックスによる削除はありません。それは何を削除しないよう、あなたが望むものは明らかにされていない

visited.remove(Integer.valueOf(visited.size()-1)); 

:だからその行が効果的(オートボクシングのおかげで)です。代わりに最後に訪問したノードを値で削除してください。

visited.remove(n.to); 
+0

ありがとうございます。それは私が探しているものです! – c2340878

関連する問題