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 };
  • 相关阅读:
    servlet验证账号密码
    servlet概述
    JAVA WEB开发环境与搭建
    JavaScript简介
    css样式简介
    html简介
    西柚电子邮箱登录页面
    西南石油大学计科院主页
    PHP 简单分页 献给小白
    安装FastDFS
  • 原文地址:https://www.cnblogs.com/infinityu/p/3072922.html
Copyright © 2011-2022 走看看