zoukankan      html  css  js  c++  java
  • 965. 单值二叉树

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

    只有给定的树是单值二叉树时,才返回 true;否则返回 false。

    示例 1:

     

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

     

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

    提示:

    给定树的节点数范围是 [1, 100]。
    每个节点的值都是整数,范围为 [0, 99] 。

    思路:层次遍历喽。

    solution1:

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isUnivalTree(TreeNode* root) {
    13       if(root == nullptr) return true;
    14       TreeNode *p =root;
    15       int val = p->val;
    16       queue<TreeNode*> q;
    17       q.push(p);
    18       while(!q.empty())
    19       {
    20         TreeNode* front = q.front();
    21         if(front->val != val) return false;
    22         q.pop();
    23         if(front->left) q.push(front->left);
    24         if(front->right) q.push(front->right);
    25       }
    26       return true;
    27     }
    28 };

    solution2:(递归)

  • 相关阅读:
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    bzoj3561DZY Loves Math VI
    bzoj3529[Sdoi2014]数表
    bzoj3309DZY Loves Math
    bzoj2823[AHOI2012]信号塔
    bzoj2301[HAOI2011]Problem b
  • 原文地址:https://www.cnblogs.com/Swetchine/p/11306573.html
Copyright © 2011-2022 走看看