Leetcode

Leetcode.104.Maximum Depth of Bi

2019-10-25  本文已影响0人  Jimmy木

题目

给定一个树, 计算树的深度.

Input: [3,9,20,null,null,15,7]
      3
     / \
    9  20
      /  \
     15   7
Output: 3

思路

使用queue循环, 关键是结果level可能多加1.

int maxDepth(TreeNode* root) {
    queue<TreeNode*> q;
    q.push(root);
    int level = 0;
    while (!q.empty()) {

        int size = (int)q.size();
        for (int i = 0; i < size; i++) {
            TreeNode *node = q.front();
            q.pop();
            if (node == nullptr) continue;
            q.push(node->left);
            q.push(node->right);
        }
        if (q.size() > 0) level++;
    }
    return level;
}

总结

注意边界值和特殊情况.

上一篇下一篇

猜你喜欢

热点阅读