<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

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

            時間:2025-02-08 00:00:59 java語言 我要投稿
            • 相關推薦

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

              完全二叉樹是指除了最后一層之外,其他每一層的結點數都是滿的,今天百分網小編為大家整理的判斷二叉樹是否為完全二叉樹的實例,僅供學習參考,歡迎大家閱讀瀏覽!
             
              完全二叉樹特點
             
              完全二叉樹是指除了最后一層之外,其他每一層的結點數都是滿的。最后一層如果也滿了,是一顆滿二叉樹,也是完全二叉樹。最后一層如果不滿,缺少的結點也全部的集中在左邊,那也是一顆完全二叉樹。
             
              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; // 葉子結點
             
              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)) {
             
              // 如果之前層遍歷的結點沒有右孩子,且當前的結點有左或右孩子,直接返回false
             
              // 如果當前結點有右孩子卻沒有左孩子,直接返回false
             
              return false;
             
              }
             
              if (left != null) {
             
              queue.offer(root.left);
             
              }
             
              if (right != null) {
             
              queue.offer(root.right);
             
              }else {
             
              leaf = false; // 如果當前結點沒有右孩子,那么之后層遍歷到的結點必須為葉子結點
             
              }
             
              }
             
              return true;
             
              }
             
              }
             
              感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

            【判斷二叉樹是否為完全二叉樹的實例】相關文章:

            C++二叉樹的鏡像實例06-01

            C語言中二叉樹的鏈式存儲實例分析04-22

            php如何實現的二叉樹遍歷(示例)02-07

            PHP如何判斷數組是否為空07-26

            判斷PHP數組是否為空的代碼05-27

            PHP判斷表達式中括號是否匹配的簡單實例05-31

            C語言數據結構二叉樹簡單應用05-10

            c語言版本二叉樹基本操作示例07-28

            C語言中計算二叉樹寬度的方式06-12

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看