104. Maximum Depth of Binary Tree

来源:互联网 发布:淘宝秒杀功能在哪 编辑:程序博客网 时间:2024/05/17 03:31

问题: 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.

问题说明: 查找从根结点到子结点的最多结点数,可以利用使用迭代实现DFS。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {                        public int maxDepth(TreeNode root) {                            int max = 0;                            int count = 0;                            int result = maxDepth(root, count, max);                            return result;                        }                        public int maxDepth(TreeNode root, int count,int max){                            if(root == null){                                if(max < count) max = count;                                return max;                            }                            ++count;                            max = maxDepth(root.left, count, max);//先找左子树中的最大值,再以此为基准查找右子树的最大值,注意count值是相同的。                            max = maxDepth(root.right, count, max);                            return max;                        }}