• Leetcode-543-Diameter of Binary Tree


    Leetcode-543-Diameter of Binary Tree

    543. Diameter of Binary Tree

    • Total Accepted: 2826
    • Total Submissions: 6539
    • Difficulty: Easy
    • Contributors: nagasupreeth

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root.

    Example:
    Given a binary tree 

              1
             / 
            2   3
           /      
          4   5    
    

    Return 3, which is the length of the path [4,2,1,3] or [5,2,1,3].

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

    Subscribe to see which companies asked this question.

    题解:

       面对树结构,常理采用recursion。 判断 左边 + 右边 是否最长, 回溯则选择最长的一边。

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int Search(TreeNode* root, int& ans){
            if(root->left==NULL && root->right==NULL){
                return 0; 
            }
            int lf = 0; 
            if(root->left){
                lf = Search(root->left, ans) + 1; 
            }
            int rg = 0; 
            if(root->right){
                rg = Search(root->right, ans) + 1; 
            }
            if(lf + rg > ans){
                ans = lf + rg; 
            }
            return max(lf,rg); 
        }
    
        int diameterOfBinaryTree(TreeNode* root) {
            int ans = 0; 
            if(root){
                Search(root, ans); 
            }
            return ans; 
        }
    };
    

      

  • 相关阅读:
    kali BEEF-XSS启动报错解决
    kali msfconsole启动报错解决
    unittest详解(三) 简单元素定位
    unittest详解(二) 断言
    unittest详解(一) unittest框架
    selenuim python环境安装
    Locust 脚本练习
    Locust 参数化
    Locust 设置断言
    9-04嵌套事务及事务分类
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/6597032.html
Copyright © 2020-2023  润新知