zoukankan      html  css  js  c++  java
  • [LeetCode] Maximum Depth of Binary Tree

    Well, this problem has the highest acceptance rate among all OJ problems. It has a very easy 1-line reursive solution. I am not sure whether this one can be called "DFS" so I only call it "recursive".

    1 class Solution { 
    2 public:
    3     int maxDepth(TreeNode* root) {
    4         return root ? 1 + max(maxDepth(root -> left), maxDepth(root -> right)) : 0;
    5     }
    6 };

    Well, you may also solve it using a level-order traversal (BFS) with a queue.

     1 class Solution {
     2 public:
     3     int maxDepth(TreeNode* root) {
     4         int depth = 0;
     5         if (!root) return depth;
     6         queue<TreeNode*> level;
     7         level.push(root);
     8         while (!level.empty()) {
     9             depth++;
    10             int n = level.size();
    11             for (int i = 0; i < n; i++) {
    12                 TreeNode* node = level.front();
    13                 level.pop();
    14                 if (node -> left) level.push(node -> left);
    15                 if (node -> right) level.push(node -> right);
    16             }
    17         }
    18         return depth; 
    19     } 
    20 };
  • 相关阅读:
    欧拉法求乘率
    利用连分数求乘率
    反乘率
    乘率
    别害怕暂时的迷茫
    别害怕心中的理想
    HDU6072 Logical Chain
    P3345 [ZJOI2015]幻想乡战略游戏
    P4449 于神之怒加强版
    [笔记] 拉格朗日插值法
  • 原文地址:https://www.cnblogs.com/jcliBlogger/p/4732902.html
Copyright © 2011-2022 走看看