Java 二叉树深度 判断平衡二叉树
Posted 喝点大麦茶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 二叉树深度 判断平衡二叉树相关的知识,希望对你有一定的参考价值。
package cookie; public class BTreeDepthIsBalanced { int depth(BNode head) { if (head == null) { return 0; } int left = depth(head.left); int right = depth(head.right); return left > right ? left + 1 : right + 1; } boolean isBalanced(BNode head) { if (head == null) { return true; } int left = depth(head.left); int right = depth(head.right); int diff = left - right; if (diff > 1 || diff < -1) { return false; } return isBalanced(head.left) && isBalanced(head.right); } } class BNode { int value; BNode left; BNode right; }
以上每个节点被遍历多次。
以上是关于Java 二叉树深度 判断平衡二叉树的主要内容,如果未能解决你的问题,请参考以下文章