Tree-----判断tree是不是BST(110. Balanced Binary Tree)

xiaoxiao2021-02-27  698

原题目

1.第一发,,,比较直白比较耗时的办法。

对每一个节点判断左右子树是不是平衡的就OK

public class Solution { public boolean isBalanced(TreeNode root) { if (root == null) { return true; } int a = maxLen(root.left); int b = maxLen(root.right); if (Math.abs(a - b) > 1) { return false; } else { return isBalanced(root.left) && isBalanced(root.right); } } public int maxLen(TreeNode root) { if (root == null) { return 0; } int a = 0, b = 0; if (root.left != null) { a = maxLen(root.left) + 1; } if (root.right != null) { b = maxLen(root.right) + 1; } if (a == 0 && b == 0) { return 1; } if (a > b) { return a; } else { return b; } } }
转载请注明原文地址: https://www.6miu.com/read-127.html

最新回复(0)