zoukankan      html  css  js  c++  java
  • [面试真题] LeetCode:Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth.

    The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

    广度优先遍历,使用NULL标记每层的结尾。

    Program Runtime: 40 milli secs

     1 /**
     2  * Definition for binary tree
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     int maxDepth(TreeNode *root) {
    13         // Start typing your C/C++ solution below
    14         // DO NOT write int main() function
    15         int rtn = 0;
    16         queue<TreeNode*> q;
    17         if(NULL != root){
    18             q.push(root);
    19             q.push(NULL);
    20         }
    21         while(q.size()){
    22             TreeNode *cur = q.front();
    23             q.pop();
    24             if(NULL == cur){
    25                 rtn++;
    26                 if(q.size()){
    27                     q.push(NULL);
    28                 }
    29             }else{
    30                 if(cur->left) q.push(cur->left);
    31                 if(cur->right) q.push(cur->right);
    32             }
    33         }
    34         return rtn;
    35     }
    36 };
  • 相关阅读:
    python之元组
    python之dict
    python之list
    python之str字符串
    python之for循环
    Python的基本语法2
    Python的基本语法1
    初识python
    JS获取当天是周几
    EXCLE导入数据库
  • 原文地址:https://www.cnblogs.com/infinityu/p/3072922.html
Copyright © 2011-2022 走看看