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

java語(yǔ)言

判斷二叉樹(shù)是否為完全二叉樹(shù)的實(shí)例

時(shí)間:2025-02-08 00:00:59 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

判斷二叉樹(shù)是否為完全二叉樹(shù)的實(shí)例

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

【判斷二叉樹(shù)是否為完全二叉樹(shù)的實(shí)例】相關(guān)文章:

C++二叉樹(shù)的鏡像實(shí)例06-01

C語(yǔ)言中二叉樹(shù)的鏈?zhǔn)酱鎯?chǔ)實(shí)例分析04-22

php如何實(shí)現(xiàn)的二叉樹(shù)遍歷(示例)02-07

PHP如何判斷數(shù)組是否為空07-26

判斷PHP數(shù)組是否為空的代碼05-27

PHP判斷表達(dá)式中括號(hào)是否匹配的簡(jiǎn)單實(shí)例05-31

C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)二叉樹(shù)簡(jiǎn)單應(yīng)用05-10

c語(yǔ)言版本二叉樹(shù)基本操作示例07-28

C語(yǔ)言中計(jì)算二叉樹(shù)寬度的方式06-12