아이디어
그래프의 너비 우선 알고리즘과 유사하게 널 포인터는 레벨 순회 끝의 신호입니다.
암호
int findHeightOfBinaryTree(BinaryTreeNode root){
int level = 1;
LLQueue q = new LLQueue();
if(root == null)
return 0;
q.enQueue(root);
//作为分层遍历的标志
q.enQueue(null);
while(!q.isEmpty()){
root = q.deQueue();
//当前层遍历结束
if(root == null){
//如果该层非最深层,则为该层增加一个标记
if(!q.isEmpty())
q.enQueue(null);
level++;
}else{
if(root.getLeft() != null){
q.enQueue(root.getLeft());
}
if(root.getRight() != null){
q.enQueue(root.getRight());
}
}
return level;
}
}