Error in user YAML: (<unknown>): mapping values are not allowed in this context at line 2 column 6
---
Time:2019/9/5
Title: 二叉树的深度
Author: 小鹿
---
输入一棵二叉树的根节点,求该树的深度。从根节点到叶子节点依次经过的节点(包含根、叶子节点)形成树的一条路径,最长路径的长度树的深度。
1、思路一:按层遍历,对按层遍历的算法进行改进,每遍历一次层进行加一。
2、思路二:寻找最长路径,借助遍历最长路径的设计思路记性改进。只需记录两个子树最深的结点为主。
- 完全二叉树、非完全二叉树 —— 普通测试
- 只有左子节点、只有右子节点、只有一个结点二叉树 —— 特殊测试
- 空树 —— 输入测试
var maxDepth = function(root) {
// 如果根节点为 null
if(root === null) return 0;
// 递归左子树
let depthLeft = maxDepth(root.left);
// 递归右子树
let depthRight = maxDepth(root.right);
// 将子问题合并求总问题
return Math.max(depthLeft,depthRight) + 1;
};