5·假设二叉树采用二叉链表存储结构,设计一个非递归算法求二叉树的高度。
LeetCode104. 二叉树的最大深度
思路:层次遍历,看一共有多少层
int maxDepth(TreeNode* root) {
int d = 0;
if(root){
queue<TreeNode *> q;
q.push(root);
while(!q.empty()){
d++;
int n = q.size();
while(n--){
TreeNode *p = q.front();
q.pop();
if(p->left){
q.push(p->left);
}
if(p->right){
q.push(p->right);
}
}
}
}
return d;
}