爱程序网

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.

代码如下:

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     public int maxDepth(TreeNode root) {
12         Stack<Integer> stack=new<Integer>Stack();
13         
14         int depth=0;
15         if(root==null)
16         return 0;
17         if(root.left==null&&root.right==null)
18         return 1;
19         
20         if(root.left!=null)
21         {
22             depth=1+maxDepth(root.left);
23             
24             if(stack.empty()||stack.peek()<depth)
25             stack.push(depth);
26         }
27         
28         if(root.right!=null)
29         {
30             depth=1+maxDepth(root.right);
31             if(stack.empty()||stack.peek()<depth)
32             stack.push(depth);
33         }
34         
35         return stack.peek();
36     }
37 }

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助