zoukankan      html  css  js  c++  java
  • [LeetCode] Minimum Depth of Binary Tree 二叉树最小深度

    Given a binary tree, find its minimum depth.

    The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

    Hide Tags
     Tree Depth-first Search
     
        这题是找二叉树的最小深度,这是广度搜索比较好吧,为啥提示给的是 深度优先呢。
    1. 判断树是否为空
    2. 将root 节点压入队列
    3. while 队列不为空
    4. 计算当前队列的个数,进行这么多次的第5步
    5. 获取queue 头,弹出一个,判断弹出的时候为叶子,是的返回,不是将支点加入队列
     1 #include <iostream>
     2 #include <queue>
     3 using namespace std;
     4 /**
     5  * Definition for binary tree
     6  */
     7  struct TreeNode {
     8      int val;
     9      TreeNode *left;
    10      TreeNode *right;
    11      TreeNode(int x) : val(x), left(NULL), right(NULL) {}
    12  };
    13 
    14 class Solution {
    15 public:
    16     int minDepth(TreeNode *root) {
    17         if(root ==NULL) return 0;
    18         queue<TreeNode* > qu;
    19         TreeNode * curNode;
    20         qu.push(root);
    21         int ret =0;
    22         while(!qu.empty()){
    23             ret ++;
    24             int n = qu.size();
    25             while(n-->0){
    26                 curNode =qu.front();
    27                 qu.pop();
    28                 if(curNode->left==NULL&&curNode->right==NULL)   return ret;
    29                 if(curNode->left!=NULL) qu.push(curNode->left);
    30                 if(curNode->right!=NULL)    qu.push(curNode->right);
    31             }
    32         }
    33         return ret;
    34     }
    35 };
    36 
    37 int main()
    38 {
    39 
    40     Solution sol;
    41     return 0;
    42 }
    View Code
  • 相关阅读:
    视频解析小技巧
    linux系统路由设置
    tracert路由跟踪命令
    php+nginx
    docker快速拉取镜像
    linux命令
    添加docker命令
    linux模糊查询文件名
    查看日志
    模板函数与模板类
  • 原文地址:https://www.cnblogs.com/Azhu/p/4149754.html
Copyright © 2011-2022 走看看