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

来源:互联网 发布:英语软件有哪些 编辑:程序博客网 时间:2024/06/11 03:00

原题目

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;        }    }}
0 0
原创粉丝点击