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

判斷二叉樹是否為完全二叉樹的實例

 更新時間:2017年05月23日 08:43:28   投稿:lqh  
這篇文章主要介紹了判斷二叉樹是否為完全二叉樹的實例的相關(guān)資料,需要的朋友可以參考下

完全二叉樹特點

完全二叉樹是指除了最后一層之外,其他每一層的結(jié)點數(shù)都是滿的。最后一層如果也滿了,是一顆滿二叉樹,也是完全二叉樹。最后一層如果不滿,缺少的結(jié)點也全部的集中在左邊,那也是一顆完全二叉樹。

判斷一棵二叉樹是否為完全二叉樹

import java.util.*;
class TreeNode {
  int val = 0;
  TreeNode left = null;
  TreeNode right = null;
  public TreeNode(int val) {
    this.val = val;
  }
}
public class CheckCompletion {
  public boolean checking(TreeNode root) {
    Queue<TreeNode> queue = new LinkedList<TreeNode>();
    boolean leaf = false; // 葉子結(jié)點
    TreeNode left;
    TreeNode right;
    queue.add(root);
    while (!queue.isEmpty()) {
      root = queue.poll();
      left = root.left;
      right = root.right;
      if ((leaf&&(left!=null||right!=null)) || (left==null&&right!=null)) {
        // 如果之前層遍歷的結(jié)點沒有右孩子,且當(dāng)前的結(jié)點有左或右孩子,直接返回false
        // 如果當(dāng)前結(jié)點有右孩子卻沒有左孩子,直接返回false
        return false;
      }
      if (left != null) {
        queue.offer(root.left);
      }
      if (right != null) {
        queue.offer(root.right);
      }else {
        leaf = false; // 如果當(dāng)前結(jié)點沒有右孩子,那么之后層遍歷到的結(jié)點必須為葉子結(jié)點
      }
    }
    return true;
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • sharding-jdbc5.0.0實現(xiàn)分表實踐

    sharding-jdbc5.0.0實現(xiàn)分表實踐

    本文主要介紹了sharding-jdbc5.0.0分表實踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • spring?boot?Mybatis?攔截器實現(xiàn)拼接sql和修改的代碼詳解

    spring?boot?Mybatis?攔截器實現(xiàn)拼接sql和修改的代碼詳解

    這篇文章主要介紹了spring?boot?Mybatis?攔截器實現(xiàn)拼接sql和修改,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Java流程控制之循環(huán)結(jié)構(gòu)while、do...while

    Java流程控制之循環(huán)結(jié)構(gòu)while、do...while

    這篇文章主要介紹了Java流程控制之循環(huán)結(jié)構(gòu)while及do...while,文章除了講解循環(huán)結(jié)構(gòu)while和do...while之外,還講解了他們之間的區(qū)別,下面我們就一起進(jìn)入文章講解更多詳細(xì)內(nèi)容吧
    2021-12-12
  • springboot項目中實現(xiàn)訪問druid內(nèi)置監(jiān)控頁面

    springboot項目中實現(xiàn)訪問druid內(nèi)置監(jiān)控頁面

    這篇文章主要介紹了springboot項目中實現(xiàn)訪問druid內(nèi)置監(jiān)控頁面的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java編程基礎(chǔ)測試題分享

    Java編程基礎(chǔ)測試題分享

    這篇文章主要介紹了Java編程基礎(chǔ)測試題分享,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 解決java.sql.SQLException:索引中丟失 IN或OUT 參數(shù)::x問題

    解決java.sql.SQLException:索引中丟失 IN或OUT 參數(shù)::x問題

    這篇文章主要介紹了解決java.sql.SQLException:索引中丟失 IN或OUT 參數(shù)::x問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 使用Java實現(xiàn)簡單串口通信

    使用Java實現(xiàn)簡單串口通信

    這篇文章主要介紹了使用Java實現(xiàn)簡單串口通信,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java的Struts2框架中攔截器使用的實例教程

    Java的Struts2框架中攔截器使用的實例教程

    攔截器是Struts框架的重要特性,Struts中每一個Action請求都包裝在一系列的攔截器的內(nèi)部,這里我們就來看一下Java的Struts2框架中攔截器使用的實例教程
    2016-07-07
  • Springboot hibernate envers使用過程詳解

    Springboot hibernate envers使用過程詳解

    這篇文章主要介紹了Springboot hibernate envers使用過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 詳解Java中的HashTable

    詳解Java中的HashTable

    這篇文章主要介紹了Java中的HashTable的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12

最新評論

葵青区| 广安市| 怀来县| 平度市| 信丰县| 扎鲁特旗| 河北省| 蓝山县| 洪湖市| 晋城| 舟曲县| 漯河市| 武功县| 永清县| 西充县| 中方县| 宁阳县| 天峻县| 乐山市| 库尔勒市| 确山县| 翁源县| 荣成市| 柳林县| 观塘区| 丁青县| 石柱| 景德镇市| 尼木县| 芜湖市| 济南市| 兴安县| 闽清县| 墨脱县| 临沭县| 安陆市| 五家渠市| 禹城市| 云林县| 庄河市| 洪湖市|