diff options
Diffstat (limited to 'works')
| -rw-r--r-- | works/solutions/cpp/965.cpp | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/works/solutions/cpp/965.cpp b/works/solutions/cpp/965.cpp new file mode 100644 index 0000000..fd2bff6 --- /dev/null +++ b/works/solutions/cpp/965.cpp @@ -0,0 +1,29 @@ +#include <cstddef>
 +
 +struct TreeNode
 +{
 +    int val;
 +    TreeNode *left;
 +    TreeNode *right;
 +    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 +};
 +
 +class Solution
 +{
 +public:
 +    static bool traverse(TreeNode *root, int val)
 +    {
 +        if (root == NULL)
 +            return true;
 +        if (root->val != val)
 +            return false;
 +        return traverse(root->left, root->val) && traverse(root->right, root->val);
 +    }
 +
 +    bool isUnivalTree(TreeNode *root)
 +    {
 +        if (root == NULL)
 +            return true;
 +        return traverse(root, root->val);
 +    }
 +};
\ No newline at end of file | 
