Problem 187: Repeated DNA Sequences
https://leetcode.com/problems/repeated-dna-sequences/?tab=Description
思路
这道题是在求不止一次重复的 substring。我们可以用两个 hashset 来维护这个结果
用一个 testSet 来判断以前加过此元素没有。根据他的返回值,来判断是否要加入此元素进入 rstSet
最后把这个 rstSet 的结果都加入到 rst 的 list 里面
public class Solution {
public List<String> findRepeatedDnaSequences(String s) {
List<String> rst = new ArrayList<String>();
if (s == null || s.length() < 10) return rst;
Set<String> testSet = new HashSet<String>();
Set<String> rstSet = new HashSet<String>();
for (int i = 0; i <= s.length() - 10; i++) {
String str = s.substring(i, i + 10);
if (!testSet.add(str)) {
rstSet.add(str);
}
}
rst.addAll(rstSet);
return rst;
}
}
Last updated
Was this helpful?