Skip to content

Commit d53d464

Browse files
authored
Create Solution.java
1 parent 5fa4ede commit d53d464

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public List<TreeNode> findDuplicateSubtrees(TreeNode root) {
3+
List<TreeNode> res = new ArrayList<>();
4+
dfs(root, new HashMap<>(), res);
5+
return res;
6+
}
7+
8+
private String dfs(TreeNode root, Map<String, Integer> map, List<TreeNode> res) {
9+
if (root == null) {
10+
return "";
11+
}
12+
String s = root.val + "_" + dfs(root.left, map, res) + "_" + dfs(root.right, map, res);
13+
map.put(s, map.getOrDefault(s, 0) + 1);
14+
if (map.get(s) == 2) {
15+
res.add(root);
16+
}
17+
return s;
18+
}
19+
}

0 commit comments

Comments
 (0)