邓心一 6 lat temu
rodzic
commit
0b979a5b60
1 zmienionych plików z 5 dodań i 5 usunięć
  1. 5 5
      hard/126.word-ladder-ii.java

+ 5 - 5
hard/126.word-ladder-ii.java

@@ -42,11 +42,11 @@ class Solution {
             queue = newQueue;
             for (Integer i : queue) used[i] = true;
         }
-        dfs(endIdx, new ArrayList<String>());
+        dfs(endIdx, new LinkedList<String>());
         return res;
     }
 
-    private void dfs(int idx, List<String> path) {
+    private void dfs(int idx, LinkedList<String> path) {
         List<String> newPath = new ArrayList<>();
         if (idx == -1) {
             newPath.add(beginWord);
@@ -54,11 +54,11 @@ class Solution {
             res.add(newPath);
             return;
         }
-        newPath.add(wordList.get(idx));
-        newPath.addAll(path);
+        path.addFirst(wordList.get(idx));
         for (Integer i : prev.get(idx)) {
-            dfs(i, newPath);
+            dfs(i, path);
         }
+        path.pollFirst();
     }
 
     private boolean isConvertible(String w1, String w2) {