如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
    只有给定的树是单值二叉树时,才返回 true;否则返回 false。

    示例 1:
    输入:[1,1,1,1,1,null,1]
    输出:true

    示例 2:
    输入:[2,2,2,5,2]
    输出:false

    可以定义一个成员变量,然后利用遍历二叉树算法辅助进行判断:

    1. boolean isUnival = true;
    2. int val;
    3. public boolean isUnivalTree(TreeNode root) {
    4. if (root == null) {
    5. return false;
    6. }
    7. val = root.val;
    8. order(root);
    9. return isUnival;
    10. }
    11. private void order(TreeNode node) {
    12. if (node == null) {
    13. return;
    14. }
    15. if (node.val != val) {
    16. isUnival = false;
    17. }
    18. order(node.left);
    19. order(node.right);
    20. }

    前序遍历,中序遍历,后序遍历,层次遍历等都可以