问题描述
给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。
两棵树重复是指它们具有相同的结构以及相同的结点值。
Example
输入:[1,2,3,4,null,2,4,null,null,4]
输出:[[2,4],[4]]
思路
对于一棵树的子树间的匹配问题,可以采用序列化 + 哈希表的方式来求解。通过对树的序列化,并使用哈希表记录对应序列的出现次数。若当前节点 root 的序列化在哈希表中出现且仅出现过一次,则 root 就是我们要找的重复子树
代码
1 | class Solution { |
执行结果: 76 ms, 49.6 MB















