      "## Constraints\n",
      "\n",
      "* Is a balanced tree one where the heights of two sub trees of any node doesn't differ by more than 1?\n",
      "    * Yes\n",
      "* If this is called on a None input, should we return False?\n",
      "    * Yes\n",
      "* Can we assume we already have a Node class with an insert method?\n",
      "    * Yes\n",
      "* Can we assume this fits memory?\n",
      "    * Yes"
 
</s> remove     "* If this is called on a None input, should we return False?\n",
 </s> add     "* If this is called on a None input, should we raise an exception?\n", </s> remove     "        return False\n",
 </s> add     "        raise Exception('No root node')\n", </s> remove     "    if not root:\n",
 </s> add     "    if root is None:\n", </s> remove     "    def test_check_balance(self):\n",
    "        assert_equal(check_balance(None), False)\n",
 </s> add     "    @raises(Exception)\n",
    "    def test_check_balance_empty(self):\n",
    "        check_balance(None)\n",
    "* If this is called on a None input, should we raise an exception?\n",
      "## Constraints\n",
      "\n",
      "* Is a balanced tree one where the heights of two sub trees of any node doesn't differ by more than 1?\n",
      "    * Yes\n",
    "* If this is called on a None input, should we raise an exception?\n",
      "    * Yes\n",
      "* Can we assume we already have a Node class with an insert method?\n",
      "    * Yes\n",
      "* Can we assume this fits memory?\n",
      "    * Yes"
keep keep keep keep replace keep keep keep keep keep
 Polish bst check balanced challenge and solution (#84)

Update constraints, tests, and code. 
graphs_trees/check_balance/check_balance_challenge.ipynb