1. public List<String> findRepeatedDnaSequences(String s) {
    2. // map用于保存出现过的子串,检验是否存在重复出现
    3. HashMap<String, Integer> map = new HashMap<>(16);
    4. // res用于保存结果
    5. List<String> res = new LinkedList<>();
    6. for (int i = 0; i < s.length() - 9; i++) {
    7. String sub = s.substring(i, i + 10);
    8. // 遍历出当前子串后,满足2个条件才可以添加到结果集中
    9. // map中已经存在该sub,res结果中不包含该sub
    10. if (map.containsKey(sub) && !res.contains(sub)) {
    11. res.add(sub);
    12. }
    13. map.put(sub, map.getOrDefault(sub, 0) + 1);
    14. }
    15. return res;
    16. }