思路:
先用Set存储每个以10为单位的字符串切片,若存在重复则加入List中,
时间复杂度O(N)
空间复杂度O(N)
public List<String> findRepeatedDnaSequences(String s) {
List<String> l = new ArrayList<>();
if(s.length() < 10)return l;
int len = s.length();
HashSet<String> hashSet = new HashSet<String>();
for (int i = 0; i <= len-10; i++) {
String mid = s.substring(i,i+10);
if(hashSet.contains(mid)){
if(!l.contains(mid)){
l.add(mid);
}
}else {
hashSet.add(mid);
}
}
return l;
}