本文主要是介绍[力扣题]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;}
这篇关于[力扣题]1.判断一棵树是否是平衡二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!