Check if a binary tree is balanced. For the purposes of this question, a balanced tree is a tree such that the heights of the two subtrees of any node never differ by more than one.