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

劍指Offer之Java算法習題精講二叉樹專題篇下

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

題目一

 解法

/**
 * 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);
        // 后序
    }
}

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

相關文章

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

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

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

    Java開發(fā)或調用WebService的幾種方式總結

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

    關于fastjson的常見API詳解

    這篇文章主要介紹了關于fastjson的常見API詳解,Fastjson是一個Java庫,可用于將Java對象轉換為其JSON表示,它還可用于將JSON字符串轉換為等效的Java對象,Fastjson可以處理任意Java對象,包括您沒有源代碼的預先存在的對象,需要的朋友可以參考下
    2023-07-07
  • Java設計模式之模版方法模式簡介

    Java設計模式之模版方法模式簡介

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

    Java搶紅包的紅包生成算法

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

    Java中Excel高效解析工具EasyExcel的實踐

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

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

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

    Java導出Execl疑難點處理的實現(xiàn)

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

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

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

    Java泛型 <T> T、 T、<T>的用法小結

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

最新評論

搜索| 贺州市| 岳池县| 铅山县| 青浦区| 望城县| 肥乡县| 济南市| 烟台市| 峨眉山市| 宁安市| 鲁山县| 宁陵县| 四川省| 汝城县| 郴州市| 安泽县| 洪洞县| 乐昌市| 塔河县| 稻城县| 清镇市| 台东县| 永城市| 师宗县| 江源县| 咸丰县| 定结县| 三河市| 平潭县| 玉门市| 从化市| 迭部县| 通辽市| 静乐县| 宽甸| 宁强县| 西昌市| 太白县| 金湖县| 巴马|