博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode_num2_Maximum Depth of Binary Tree
阅读量:6410 次
发布时间:2019-06-23

本文共 1523 字,大约阅读时间需要 5 分钟。

题目:

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

AC率第二高的题啦。二项树的最长路径。初看此题就感觉要用递归,但不知怎的。一開始想到深度遍历上去了。。。。囧

实际上非常easy的,某一节点的最长路径=max(该节点左子树的最长路径,该节点右子树的最长路径)+1

另一点就是类中函数调用函数时格式为 self.函数名,否则会报 global name XXX is not defined

废话不多说啦,上代码咯

# Definition for a  binary tree node# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    # @param root, a tree node    # @return an integer    def maxDepth(self, root):        if root==None:            return 0        else:            p=max(self.maxDepth(root.left),self.maxDepth(root.right))+1            return p

补充更新ing~~~~

今天刷笔试题的时候又遇到了这道题,可是仅仅能用c++来写,于是高速地写出了例如以下代码:

class Solution {public:    int maxDepth(TreeNode *root) {      if (root==NULL)          return 0;      else{      	int rs=0;        if(maxDepth(root->left)>maxDepth(root->right)){        	rs=1+maxDepth(root->left);        }        else{        	rs=1+maxDepth(root->right);        }        return rs;      }    }};
一执行,结果TLE了。

。。。。

细致检查发现该程序在推断和计算的过程中反复调用了递归函数,添加了算法复杂度,因此会出现TLE

改动后的代码例如以下:

class Solution {public:    int maxDepth(TreeNode *root) {      if (root==NULL)          return 0;      else{      	int rs=0;        int left=maxDepth(root->left);        int right=maxDepth(root->right);        if(left>right){        	rs=1+left;        }        else{        	rs=1+right;        }        return rs;      }    }};

转载地址:http://uizra.baihongyu.com/

你可能感兴趣的文章
Linux通过命令发送邮件
查看>>
HttpClient4.4 登录知乎(详细过程)
查看>>
网站被刷流量简单处理的一次
查看>>
初中-高中-大学-10年学习情况的精彩回顾和分析
查看>>
框架学习的4种境界
查看>>
多VLAN Flex Connect 模式配置手册-By Eric
查看>>
Eclipse常用设置
查看>>
用php编写Nagios插件
查看>>
烂泥:Wordpress添加PHP测试页到网站根目录
查看>>
参数传递 可变长参数函数
查看>>
Stopwatch计时器、秒表 C#
查看>>
HDU-1532-Drainage Ditches
查看>>
6)图[3]拓扑排序算法
查看>>
Day01
查看>>
eclipse中svn的各种状态图标详解
查看>>
SG仿真常用模块
查看>>
[LeetCode] 4Sum
查看>>
sap 常用表
查看>>
责任链与装饰者模式(基本介绍)【设计模式1】
查看>>
Service
查看>>