• 【C语言刷LeetCode】687. 最长同值路径(M)


    给定一个二叉树的 root ,返回 最长的路径的长度 ,这个路径中的 每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。

    两个节点之间的路径长度 由它们之间的边数表示。

    示例 1:

    输入:root = [5,4,5,1,1,5]
    输出:2
    示例 2:

    输入:root = [1,4,5,4,4,5]
    输出:2
     

    提示:

    树的节点数的范围是 [0, 104] 
    -1000 <= Node.val <= 1000
    树的深度将不超过 1000

    来源:力扣(LeetCode
    链接:https://leetcode.cn/problems/longest-univalue-path
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    看题目描述,不太懂什么含义,那么就从示例中反推

    示例1,表示路径比连接的相同点数要少1

    示例2 是重点,如果他们值相等,路径实际是 = left路径 + right路径 + 1根节点

    那么递归的思路就出来了

    但这道题有坑:

    【路径】才是重点!!什么是路径???必须是单笔一次能画完的线路!!

    这点题目和示例都没有说明,所以这道题不是一道好题。

    即隐含条件

    每个节点有一个[单侧]最长路径,和一个真正的[双侧]最长路径

    [单侧]最长路径用来返回给上一个节点,也就是递归节点要返回的值

    真正

  • 相关阅读:
    ConflictingBeanDefinitionException
    KSF绩效管理
    golang http
    前端Sortable拖拽实现排序
    金融业信贷风控算法1-初等概率论
    Dubbo+Zookeeper入门实例
    MSQL系列(六) Mysql实战-SQL语句优化
    金融数学方法:梯度下降法
    vulnhub之GeminiInc
    2023NOIP A层联测16 数学题
  • 原文地址:https://blog.csdn.net/jin615567975/article/details/126735902