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.


    题解:递归解决,用私有变量minDep保存最小的深度,每当遍历到叶节点的时候就看是否需要更新。

    代码如下:

     1 /**
     2  * Definition for binary tree
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 public class Solution {
    11     private int minDep = Integer.MAX_VALUE;
    12     public void minDepthRecur(TreeNode root,int depth){
    13         if(root == null)
    14             return;
    15         if(root.left == null && root.right == null){
    16             if(minDep > depth)
    17                 minDep = depth;
    18             return;
    19         }
    20         minDepthRecur(root.left, depth+1);
    21         minDepthRecur(root.right, depth+1);
    22     }
    23     public int minDepth(TreeNode root) {
    24         if(root == null)
    25             return 0;
    26         minDepthRecur(root, 1);
    27         return minDep;
    28     }
    29 }
  • 相关阅读:
    Codeforces 787B. Not Afraid
    Codeforces 670D. Magic Powder
    POJ 1979 Red and Black
    T1215:迷宫
    POJ 1163 The Triangle
    洛谷P1219 八皇后
    T1212:LETTERS
    T1317:【例5.2】组合的输出
    洛谷P1706 全排列问题
    codevs 5971 打击犯罪
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3853623.html
Copyright © 2011-2022 走看看