LintCode: Maximum Depth of Binary Tree
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LintCode: Maximum Depth of Binary Tree相关的知识,希望对你有一定的参考价值。
Maximum Depth of Binary Tree:
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.
Code:
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ public class Solution { /** * @param root: The root of binary tree. * @return: An integer. */ private int depth = 0; public int maxDepth(TreeNode root) { // write your code here // handle corner case if (root == null) { return 0; } // start from the root helper(root, 1); return depth; } private void helper(TreeNode node, int curtDepth) { // if reach the null if (node == null) { return; } //refresh depth if (curtDepth > depth) { depth = curtDepth; } // go for left and right helper(node.left, curtDepth + 1); helper(node.right, curtDepth + 1); } }
Thr trick here is to set the depth variable and refresh it in the helper method, helper method is a recursive method, the return condition is when we reach the null node.
以上是关于LintCode: Maximum Depth of Binary Tree的主要内容,如果未能解决你的问题,请参考以下文章
lintcode-easy-Maximum Depth of Binary Tree
lintcode97- Maximum Depth of Binary Tree- easy
[LintCode] Maximum Depth of Binary Tree 二叉树的最大深度
lintcode-medium-Maximum Subarray II