Leetcode: Maximum Depth of Binary Tree

来源:互联网 发布:游戏美工外包 编辑:程序博客网 时间:2024/05/04 12:32

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 binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int maxDepth(TreeNode root) {// Start typing your Java solution below// DO NOT write main() functionif(root == null)return 0;elsereturn traversal(root, 1);}public int traversal(TreeNode root, int depth){if(root == null)return Math.max(0, depth);// actually no need to test depth < 0int left = depth; int right = depth;if(root.left != null)left = traversal(root.left, left + 1);if(root.right != null)right = traversal(root.right, right + 1);return Math.max(left, right);}}
/** * Definition for binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int maxDepth(TreeNode root) {// Start typing your Java solution below// DO NOT write main() functionif(root == null)return 0;int left = maxDepth(root.left) + 1;int right = maxDepth(root.right) + 1;return left > right ? left : right;}}