标签:shift convert 递归 二叉树的深度 null amp strong pre div
题目描述: 给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明:叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],返回深度为3
//C 递归
int maxDepth(struct TreeNode* root){
if(root == NULL) return 0;
else if(root -> left == NULL && root -> right == NULL) return 1;
else {
int lheight = 0, rheight = 0;
lheight = maxDepth(root -> left);
rheight = maxDepth(root -> right);
return lheight > rheight ? lheight + 1 : rheight + 1;
}
}
//栈
//JS
var maxDepth = function(root) {
if(!root) return 0;
let level = 0, queue = [], lastNode, curNode, node;
queue.push(root);
lastNode = root;
while(queue.length != 0){
node = queue.shift();
if(node.left) {
queue.push(node.left);
curNode = node.left;
}
if(node.right) {
queue.push(node.right);
curNode = node.right;
}
if(lastNode == node) {
level++;
lastNode = curNode;
}
}
return level;
};
标签:shift convert 递归 二叉树的深度 null amp strong pre div
原文地址:https://www.cnblogs.com/JesseyWang/p/13099650.html