zoukankan      html  css  js  c++  java
  • minimun-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.

    /**

     * Definition for binary tree

     * public class TreeNode {

     *     int val;

     *     TreeNode left;

     *     TreeNode right;

     *     TreeNode(int x) { val = x; }

     * }

     */

    import java.util.*;

    public class Solution {

        public int run(TreeNode root) {

            if(root==null)

                return 0;

            if(root.left==null&&root.right==null)

                return 1;

    //方法一:递归

         /*   if(root.left==null)// 若左子树为空,则返回右子树的最小深度+1

                return run(root.right)+1;

            if(root.right==null)

                return run(root.left)+1;

           

            int l=run(root.left);

            int r=run(root.right);

           

            return (l>r)?(r+1):(l+1);

            */

           //方法二

            Queue<TreeNode> q=new LinkedList<>();

           // 思路是层序遍历,找到第一个左右结点都为null的情况,就返回

            q.add(root);

            int level=0;

            while(!q.isEmpty()){

                int size=q.size();

                 level++;

                for(int i=0;i<size;i++){

                    TreeNode node=q.poll();

                    if(node.left==null&&node.right==null)

                        return level;

                    if(node.left!=null)

                        q.add(node.left);

                    if(node.right!=null)

                        q.add(node.right);

                   

                }

              

            }

           

            return level;

        }

    }

  • 相关阅读:
    js 几个特殊情况
    Oracle 常用操作
    SqlServer性能检测和优化工具使用详细
    Fiddler
    JMeter性能测试,完整入门篇
    asp.net缓存
    Quartz.net开源作业调度框架使用详解
    SQL 存储过程
    .net 分布式锁
    全国省市区数据库
  • 原文地址:https://www.cnblogs.com/xiaolovewei/p/8029796.html
Copyright © 2011-2022 走看看