LeetCode: 104. Maximum Depth of Binary Tree

来源:互联网 发布:彩票缩水过滤软件下载 编辑:程序博客网 时间:2024/06/16 00:00

LeetCode: 104. 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.

自己的答案:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int maxDepth(TreeNode root) {        if (root == null) {            return 0;        }        int left = maxDepth(root.left);        int right = maxDepth(root.right);        return Math.max(left, right) + 1;    }}

最快的答案:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {      int max = 0;      public int maxDepth(TreeNode root) {        if (root == null) return 0;        getDepth(root, 0);        return max;    }    private void getDepth(TreeNode root, int count) {          if (root == null) return;          count++;          if (root.left == null && root.right == null) {               max = Math.max(count, max);          }          getDepth(root.left, count);          getDepth(root.right, count);    }}

Two Java Iterative solution DFS and BFS

原创粉丝点击