zoukankan      html  css  js  c++  java
  • LeetCode

            求二叉树的最小深度。

          

    /**
     * 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;
            int l = minDepth(root.left);
            int r = minDepth(root.right);
            if(l==0)
                return r+1;
            else if(r==0)
                return l+1;
            else 
                return r<l? r+1:l+1;
        }
        
    }
    

         谁能告诉我下面这个代码错在哪里了?

      

    /**
     * Definition for binary tree
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public static int MIN = 9999999;
    	public static int minDepth(TreeNode root) {
            if(root == null)
                return 0;
            dfs(root, MIN, 1);
            return MIN;
        }
    	public static void dfs(TreeNode root, int min, int cnt) {
            if(root == null) return ;
            if(root.left==null && root.right==null) {
                if(min > cnt) {
                    min = cnt;
                    MIN = min;
                }
                return ;
            }
            dfs(root.left, min, cnt+1);
            dfs(root.right, min, cnt+1);
            return ;
        }
        
    }
    
  • 相关阅读:
    单(single)
    cdq分治
    寿司
    qtth
    二分,倍增的一些思考(lost my music:可持久化栈)
    手写堆、哈希表
    保留字,关键字
    测试19,20,21
    要买的书
    测试18:T2:可爱精灵宝贝
  • 原文地址:https://www.cnblogs.com/wxisme/p/4464494.html
Copyright © 2011-2022 走看看