ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

[力扣题]1.判断一棵树是否是平衡二叉树

2026/9/8 22:59:46 拓冰建站 浏览量
[力扣题]1.判断一棵树是否是平衡二叉树

1.判断一棵树是否是平衡二叉树

 1.1 题目描述

  给你一棵二叉树的根节点 root ,请你判断这棵树是否是一棵 完全二叉树 。

在一棵 完全二叉树 中,除了最后一层外,所有层都被完全填满,并且最后一层中的所有节点都尽可能靠左。最后一层(第 h 层)中可以包含 1 到 2h 个节点

题目思路,创建一个队列,把每棵树的根节点还有它的左子树和右子树依次放进去.在依次弹出. 直到遇到null,再检查队列里面有没有不是null的节点,如果有,那就不是完全二叉树.

具体代码实现如下:

public boolean isCompleteTree(TreeNode root) {if(root == null){return true;}Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()){TreeNode cur = queue.poll();if(cur != null){queue.offer(cur.left);queue.offer(cur.right);}else {break;}}while (!queue.isEmpty()){TreeNode cur = queue.poll();if(cur !=null){return false;}}return true;}