zoukankan      html  css  js  c++  java
  • Lintcode---二叉树的最小深度

    给定一个二叉树,找出其最小深度。

    二叉树的最小深度为根节点到最近叶子节点的距离。
    样例

    给出一棵如下的二叉树:

            1

         /      

       2       3

              /    

            4      5  

    这个二叉树的最小深度为 2

    思路:本来是很简单的一道题目,使用递归方法很容易求解,思路也清晰,但很久没AC。
             
         反思,在考虑的时候不要被绕进去,从大的方面考虑,思路正确就可以。
         另外,在debug时,直接通过测试用例来模拟程序过程,快速找到问题所在。

    /**
     * Definition of TreeNode:
     * class TreeNode {
     * public:
     *     int val;
     *     TreeNode *left, *right;
     *     TreeNode(int val) {
     *         this->val = val;
     *         this->left = this->right = NULL;
     *     }
     * }
     */
    class Solution {
    public:
        /**
         * @param root: The root of binary tree.
         * @return: An integer
         */
        /*
        思路:本来是很简单的一道题目,使用递归方法很容易求解,思路也清晰,但很久没AC。
             
              反思,在考虑的时候不要被绕进去,从大的方面考虑,思路正确就可以。
              另外,在debug时,直接通过测试用例来模拟程序过程,快速找到问题所在。
        */
        int minDepth(TreeNode *root) {
            // write your code here
            
            if(root==NULL){
                return 0;
            }
        
    
            if(root->right==NULL){
                return minDepth(root->left)+1;
            }
            if(root->left==NULL){
                return minDepth(root->right)+1;
            }
            return min(minDepth(root->left),minDepth(root->right))+1;
        }
    };
    
  • 相关阅读:
    CodeForces 825G"Tree Queries"(选根建树)
    技术日记
    [express.js 使用笔记] ajax询问数据,却显示在浏览器上,该怎么办?
    node.js 基础和文件操作 笔记
    JSON 笔记
    CSS 学习笔记(一)选择器
    cf1321E
    [学习笔记] 后缀数组
    Python 编程练习
    《明朝那些事儿》 读书笔记
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/7088738.html
Copyright © 2011-2022 走看看