• 编程之美--3.8


    题目描述:求二叉树节点的最大距离,距离是节点之间边的数目

    思路:递归判断左子树右子树以及经过当前节点的值的大小

     1 #include <iostream>
     2 #include <queue>
     3 #include <climits>
     4 #include <algorithm>
     5 #include <memory.h>
     6 #include <stdio.h>
     7 #include <ostream>
     8 #include <vector>
     9 #include <list>
    10 #include <cmath>
    11 #include <string>
    12 #include <stdexcept>
    13 #include <stack>
    14 using namespace std;
    15 
    16 struct Node
    17 {
    18     Node* leftChild;
    19     Node* rightChild;
    20     int val;
    21     Node():leftChild(NULL),rightChild(NULL)
    22     {
    23 
    24     }
    25 };
    26 
    27 int getTreeheight(Node *root)
    28 {
    29     if(root == NULL)
    30         return 0;
    31     int left = getTreeheight(root->leftChild)+1;
    32     int right = getTreeheight(root->rightChild)+1;
    33     return max(left,right);
    34 }
    35 
    36 int fun(Node *root)
    37 {
    38     if(root == NULL)
    39         return 0;
    40     int maxlen = getTreeheight(root->leftChild)+getTreeheight(root->rightChild);
    41     int tmp = max(fun(root->leftChild),fun(root->rightChild));
    42     return max(maxlen,tmp);
    43 }
    44 
    45 int main()
    46 {
    47 
    48     return 0;
    49 }

     有个更好的解法:时间和空间都优化了

    http://www.cnblogs.com/miloyip/archive/2010/02/25/1673114.html

  • 相关阅读:
    Go 语言基础知识
    Docker 配置代理
    Kubernetes StatefulSets
    Kubernetes Storage
    Centos7.4 Nginx反向代理+负载均衡配置
    LVS 负载均衡原理详解
    Kubernetes Ingress
    Kubernetes Endpoints
    kubernetes 核心对象
    K8s ipvs mode kube-proxy
  • 原文地址:https://www.cnblogs.com/cane/p/3797802.html
Copyright © 2020-2023  润新知