| 1234567891011121314151617181920212223242526 | 
							- class Solution {
 
-     public List<List<String>> findDuplicate(String[] paths) {
 
-         List<List<String>> res = new LinkedList<>();
 
-         HashMap<String, Integer> map = new HashMap<>();
 
-         for (String path : paths) {
 
-             String[] part = path.split(" ");
 
-             for (int i = 1; i < part.length; i++) {
 
-                 String[] file = part[i].split("\\(");
 
-                 Integer idx = map.get(file[1]);
 
-                 if (idx == null) {
 
-                     res.add(new LinkedList<String>());
 
-                     idx = res.size() - 1;
 
-                     map.put(file[1], idx);
 
-                 }
 
-                 String fullPath = part[0] + "/" + file[0];
 
-                 res.get(idx).add(fullPath);
 
-             }
 
-         }
 
-         Iterator<List<String>> iter = res.iterator();
 
-         while (iter.hasNext()) {
 
-             List<String> list = iter.next();
 
-             if (list.size() == 1) iter.remove();
 
-         }
 
-         return res;
 
-     }
 
- }
 
 
  |