题解 | #二叉树深度#
二叉树的深度
http://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b
非递归求解·
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ import java.util.*; public class Solution { public int TreeDepth(TreeNode root) { LinkedList <TreeNode> list = new LinkedList<TreeNode>(); if(root == null){ return 0; } int level = 0; list.add(root); while(!list.isEmpty()){ //记录当前层的节点个数 int curSize = list.size(); while(curSize>0){ TreeNode curNode = list.poll(); if(curNode.left!=null){ list.add(curNode.left); } if(curNode.right!=null){ list.add(curNode.right); } curSize--; } level++; } return level; } }