Google演算法題:二叉樹的最大深度
阿新 • • 發佈:2019-01-08
/** * 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. */ public int maxDepth(TreeNode root) { if(root==null) return 0; int maxh=1; Queue<TreeNode> q = new LinkedList<TreeNode>(); q.add(root); int knum=1; while(!q.isEmpty()){ knum--; TreeNode t = q.poll(); //levelOrder //孩子入隊 if(t.left!=null){ q.add(t.left); } if(t.right!=null){ q.add(t.right); } if(knum==0 && q.size()>0){ maxh++; knum=q.size(); } } return maxh; } }