av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

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