最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

劍指Offer之Java算法習(xí)題精講二叉樹(shù)專(zhuān)題篇下

 更新時(shí)間:2022年03月18日 10:17:11   作者:明天一定.  
跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化

題目一

 解法

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
        return  method(root);
    }
    int method(TreeNode root){
        if(root==null){
            return 0;
        }
        int l = method(root.left);
        int r = method(root.right);
        return Math.max(l, r) + 1;
    }
}

題目二

解法

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    int ans = 0;
    public int diameterOfBinaryTree(TreeNode root) {
        method(root);
        return ans;
    }
    public int method(TreeNode root){
        if(root==null){
            return 0;
        }
        int l = method(root.left);
        int r = method(root.right);
        ans = Math.max(ans,l+r);
        return Math.max(l,r)+1;
    }
}

 題目三

 解法

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int minDepth(TreeNode root) {
        if(root==null) return 0;
        if(root.left==null&&root.right==null) return 1;
        int min = Integer.MAX_VALUE;
        if(root.left!=null){
            min = Math.min(min,minDepth(root.left));
        }
        if(root.right!=null){
            min = Math.min(min,minDepth(root.right));
        }
        return min+1;        
    }
}

題目四

 解法

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    List<Integer> list = new ArrayList<Integer>();
    public List<Integer> preorderTraversal(TreeNode root) {
        method(root);
        return list;
    }
    public void method(TreeNode root){
        if(root==null){
            return;
        }
        // 前序
        list.add(root.val);
        method(root.left);
        // 中序
        method(root.right);
        // 后序
    }
}

到此這篇關(guān)于劍指Offer之Java算法習(xí)題精講二叉樹(shù)專(zhuān)題篇下的文章就介紹到這了,更多相關(guān)Java 二叉樹(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java經(jīng)典面試題匯總--多線程

    Java經(jīng)典面試題匯總--多線程

    本篇總結(jié)的是Java多線程相關(guān)的面試題,后續(xù)會(huì)持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實(shí)習(xí)生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯(cuò)誤還望大家多多包涵,不吝賜教,謝謝
    2021-06-06
  • Java開(kāi)發(fā)或調(diào)用WebService的幾種方式總結(jié)

    Java開(kāi)發(fā)或調(diào)用WebService的幾種方式總結(jié)

    java開(kāi)發(fā)過(guò)程中,很多地方都會(huì)遇到數(shù)據(jù)傳遞,遠(yuǎn)程獲取數(shù)據(jù)問(wèn)題,這篇文章主要介紹了Java開(kāi)發(fā)或調(diào)用WebService的幾種方式的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 關(guān)于fastjson的常見(jiàn)API詳解

    關(guān)于fastjson的常見(jiàn)API詳解

    這篇文章主要介紹了關(guān)于fastjson的常見(jiàn)API詳解,Fastjson是一個(gè)Java庫(kù),可用于將Java對(duì)象轉(zhuǎn)換為其JSON表示,它還可用于將JSON字符串轉(zhuǎn)換為等效的Java對(duì)象,Fastjson可以處理任意Java對(duì)象,包括您沒(méi)有源代碼的預(yù)先存在的對(duì)象,需要的朋友可以參考下
    2023-07-07
  • Java設(shè)計(jì)模式之模版方法模式簡(jiǎn)介

    Java設(shè)計(jì)模式之模版方法模式簡(jiǎn)介

    這篇文章主要介紹了Java設(shè)計(jì)模式之模版方法模式,需要的朋友可以參考下
    2014-07-07
  • Java搶紅包的紅包生成算法

    Java搶紅包的紅包生成算法

    現(xiàn)在日常生活中搶紅包已經(jīng)成了日常游戲,本篇文章主要介紹了Java搶紅包的紅包生成算法,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • Java中Excel高效解析工具EasyExcel的實(shí)踐

    Java中Excel高效解析工具EasyExcel的實(shí)踐

    EasyExcel是阿里巴巴開(kāi)源的一個(gè)excel處理框架,已使用簡(jiǎn)單,節(jié)省內(nèi)存著稱(chēng),下面這篇文章主要給大家介紹了關(guān)于Java中Excel高效解析工具EasyExcel實(shí)踐的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Java?Deque基本概念和使用方法

    Java?Deque基本概念和使用方法

    Deque雙端隊(duì)列是Java?Collections?Framework的一部分,支持在兩端插入和刪除操作,它繼承自Queue接口,可以作為隊(duì)列FIFO或棧LIFO使用,本文介紹java?Deque基本概念和使用方法,感興趣的朋友一起看看吧
    2025-03-03
  • Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn)

    Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn)

    這篇文章主要介紹了Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Java常用函數(shù)式接口總結(jié)

    Java常用函數(shù)式接口總結(jié)

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java常用函數(shù)式接口展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java泛型 <T> T、 T、<T>的用法小結(jié)

    Java泛型 <T> T、 T、<T>的用法小結(jié)

    T在Java泛型中,被稱(chēng)作類(lèi)型變量, 有的方法返回值是<T> T,有的是T,區(qū)別在哪里,本文主要介紹了Java泛型 <T> T、 T、<T>的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解下
    2023-12-12

最新評(píng)論

湖口县| 张北县| 诏安县| 漳州市| 武威市| 上思县| 永济市| 四川省| 苍溪县| 同江市| 澜沧| 丰宁| 乐亭县| 郎溪县| 庄河市| 永春县| 满城县| 寿宁县| 孟村| 出国| 台湾省| 蓬溪县| 宣化县| 乐都县| 汉中市| 涡阳县| 根河市| 金堂县| 太和县| 平武县| 内江市| 浦县| 卢湾区| 灵寿县| 来宾市| 霍邱县| 大邑县| 东乡族自治县| 常州市| 贵州省| 祁门县|