劍指Offer系列-面試題39-2:判斷一棵樹是否為平衡二叉樹
阿新 • • 發佈:2019-01-02
題目:判斷一棵樹是否為平衡二叉樹
思路:根據上一題的二叉樹的深度,在遞迴過程中加上識別符號,遞迴到當前節點,判斷當前子樹是不是一個平衡二叉樹,如果不是,就把識別符號置為false,返回識別符號即可。
程式碼:
private boolean result = true; public boolean IsBalanced_Solution(TreeNode root) { TreeDepth(root); return result; } public int TreeDepth(TreeNode root) { if (root == null) { return 0; } int left = TreeDepth(root.left); int right = TreeDepth(root.right); if (Math.abs(left - right) > 1) { result = false; } return (left > right) ? (left + 1) : (right + 1); }