zoukankan      html  css  js  c++  java
  • LeetCode My Solution: Minimum Depth of Binary Tree

    Minimum Depth of Binary Tree

     Total Accepted: 24760 Total Submissions: 83665My Submissions

    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.

    Have you been asked this question in an interview? 


    /**
     * Definition for binary tree
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public int minDepth(TreeNode root) {
            if (root == null){
                return 0;
            }
          return helper(root);
        }
        //这个题目和求最大(最小深度)不一样的是要走到叶子节点才算行,也就说要到了叶子节点才OK
        //最開始的时候採取了(root == null)的推断,报错,是由于对根节点的处理中觉得是求最大的深度。而最小的深度实际是到了
        //叶子节点之后才算行
        int helper(TreeNode root) {
            if (root.left == null && root.right == null) {
                return 1;
            }
            if (root.left == null) {
                return helper(root.right) + 1;
            }     
            if (root.right == null) {
                return helper(root.left) + 1;
            }
            else {
            return Math.min(helper(root.left),helper(root.right)) + 1;
            }
        }
    }




  • 相关阅读:
    2019 ECfianl
    Codeforces Round #610 (Div. 2)
    IOS设计模式之三:MVC模式
    MVC3快速搭建Web应用(二)
    IOS设计模式之四:观察者模式
    MVC3快速搭建Web应用(一)
    Three20 NetWork
    IOS设计模式之一:单例模式
    IOS设计模式之二:Delegate模式
    写博客的意义
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5104422.html
Copyright © 2011-2022 走看看