zoukankan      html  css  js  c++  java
  • 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; 
        }
    };
    

      

  • 相关阅读:
    Django之分页
    Django的ORM基本操作详解
    Django补充
    Django Cookie与session的运用
    pycharm配置mysql数据库
    Django的外键创建
    Django初探
    rhel7安装mysql5.7
    一个不错的自定义主题
    Koa2下生成word(docx)、excel(xlsx)
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/6597032.html
Copyright © 2011-2022 走看看