亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

題目一

 解法

/**
 * 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中接口(interface)及使用方法示例

    java中接口(interface)及使用方法示例

    這篇文章主要介紹了java中接口(interface)及使用方法示例,涉及接口定義的簡單介紹以及Java語言代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • 如何利用Java在圖片上添加文字水印效果

    如何利用Java在圖片上添加文字水印效果

    最近發(fā)現經常被別的網站盜用,而且不注明出處,因此不得不加上水印,這篇文章主要給大家介紹了關于如何利用Java在圖片上添加文字水印效果的相關資料,需要的朋友可以參考下
    2022-01-01
  • Java 構造方法的使用詳解

    Java 構造方法的使用詳解

    構造方法是類的一種特殊方法,用來初始化類的一個新的對象,在創(chuàng)建對象(new 運算符)之后自動調用。Java 中的每個類都有一個默認的構造方法,并且可以有一個以上的構造方法
    2021-11-11
  • Java高效提取PDF文件指定坐標的文本內容實戰(zhàn)代碼

    Java高效提取PDF文件指定坐標的文本內容實戰(zhàn)代碼

    在日常工作中,有時可能會需要從龐大的PDF文檔中提取其中所包含的文本內容,下面這篇文章主要給大家介紹了關于如何利用Java高效提取PDF文件指定坐標的文本內容,需要的朋友可以參考下
    2024-01-01
  • 關于網頁報錯404原因以及解決方法

    關于網頁報錯404原因以及解決方法

    404錯誤是網站常見的錯誤之一,出現的原因很多,解決方法也有很多種,這篇文章主要給大家介紹了關于網頁報錯404原因以及解決方法的相關資料,需要的朋友可以參考下
    2024-01-01
  • java針對于時間轉換的DateUtils工具類

    java針對于時間轉換的DateUtils工具類

    這篇文章主要為大家詳細介紹了java針對于時間轉換的DateUtils工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • IDEA自定義常用代碼塊及自定義快捷摸板

    IDEA自定義常用代碼塊及自定義快捷摸板

    這篇文章主要介紹了IDEA自定義常用代碼塊及自定義快捷摸板的相關知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • SpringBoot集成消息隊列的項目實踐

    SpringBoot集成消息隊列的項目實踐

    本文主要介紹了SpringBoot集成消息隊列的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • SpringAOP實現登錄驗證的操作代碼

    SpringAOP實現登錄驗證的操作代碼

    這篇文章主要介紹了SpringAOP實現登錄驗證功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Java設計模式中的原型模式講解

    Java設計模式中的原型模式講解

    原型模式是用于創(chuàng)建重復的對象,同時又能保證性能。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式,今天通過本文給大家介紹下Java?原型設計模式,感興趣的朋友一起看看吧
    2023-04-04

最新評論