687. 最长同值路径
给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值。 这条路径可以经过也可以不经过根节点。
注意:两个节点之间的路径长度由它们之间的边数表示。
链接
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
   | 
 
 
 
 
 
 
 
 
 
 
 
 
  function longestUnivaluePath(root: TreeNode | null): number {  let res = 0  if (root === null) return res  function dfs(node: TreeNode | null) {   if (node === null) return 0   const l = dfs(node.left)   const r = dfs(node.right)   let lRes = 0, rRes = 0   if(node.left && node.left.val === node.val) {     lRes = l + 1   }   if (node.right && node.right.val == node.val) {     rRes = r + 1   }   res = Math.max(res, rRes + lRes)   return Math.max(rRes, lRes)  }  dfs(root)  return res };
 
  |