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;
            }
        }
    }




  • 相关阅读:
    Python-24-多线程
    RT-Thread动态内存堆的使用
    Linux编程概念
    Linux_C语言基础
    文件IO_open(),read(),write(),lseek(),close()
    SourceTree跳转注册的方法
    Linux——软件安装
    初学DOM树解析xml文件
    简单json语句转化为map保存
    最大独立集求解
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5104422.html
Copyright © 2011-2022 走看看