508. 出现次数最多的子树元素和
给你一个二叉树的根结点,请你找出出现次数最多的子树元素和。一个结点的「子树元素和」定义为以该结点为根的二叉树上所有结点的元素之和(包括结点本身)。
你需要返回出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的子树元素和(不限顺序)。
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
   | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  function findFrequentTreeSum(root: TreeNode | null): number[] {   const dataMap: Map<number, number> = new Map()   let max = 1   function traverse(node: TreeNode | null): number {     if (node === null) return 0     let res = node.val     res += traverse(node.left)     res += traverse(node.right)     let resNum = (dataMap.get(res) || 0) + 1     dataMap.set(res, resNum)     max = Math.max(max, resNum)     return res   }   traverse(root)   const resList = []   for (const [key, value] of dataMap) {     if (value === max) {       resList.push(key)     }   }   return resList };
 
  |