652. 寻找重复的子树
给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。
两棵树重复是指它们具有相同的结构以及相同的结点值。
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | let treeMap = {} let treeList: Array<TreeNode | null> = [] function findDuplicateSubtrees(root: TreeNode | null): Array<TreeNode | null> {   treeMap = {}   treeList = []   traverse(root)   return treeList }; function traverse(root: TreeNode) : String {   if (root === null) {     return '#'   }   const left = traverse(root.left)   const right = traverse(root.right)   const res = left + ',' + right + ',' + root.val   if (!treeMap[res]) {     treeMap[res] = 'first'   } else if (treeMap[res] === 'first') {     treeMap[res] = 'no-first'     treeList.push(root)   }   return res }
  |