zoukankan      html  css  js  c++  java
  • 687. Longest Univalue Path 最长的唯一路径

    Given a binary tree, find the length of the longest path where each node in the path has the same value. This path may or may not pass through the root.

    Note: The length of path between two nodes is represented by the number of edges between them.

    Example 1:

    Input:

                  5
                 / 
                4   5
               /    
              1   1   5
    

    Output:

    2
    

    Example 2:

    Input:

                  1
                 / 
                4   5
               /    
              4   4   5
    

    Output:

    2
    

    Note: The given binary tree has not more than 10000 nodes. The height of the tree is not more than 1000.

    给定二叉树,找到路径中每个节点具有相同值的最长路径的长度。此路径可能通过或不能通过根。
    1. let max = 0;
    2. var longestUnivaluePath = function(root) {
    3. max = 0;
    4. helper(root, null);
    5. return max;
    6. };
    7. var helper = (node,parentVal) => {
    8. if (!node) return 0;
    9. let left = helper(node.left, node.val);
    10. let right = helper(node.right, node.val);
    11. max = Math.max(left + right, max);
    12. if (node.val == parentVal) {
    13. return Math.max(left, right) + 1;
    14. } else {
    15. return 0;
    16. }
    17. }






  • 相关阅读:
    P1006 传纸条
    P1387 最大正方形
    P1417 烹调方案
    P1052 过河
    P1063 能量项链
    P1736 创意吃鱼法
    P1156 垃圾陷阱
    P1220 关路灯
    @P1373 小a和uim之大逃离
    【leetcode】Interleaving String
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/7647694.html
Copyright © 2011-2022 走看看