解题思路:
class Solution {
private:
int m=INT_MIN;
bool tag=true;
public:
void help1(TreeNode *root) {
if(!root) return;
help1(root->left);
if(m>=root->val) tag=false;
else m=root->val;
help1(root->right);
return;
}
bool help2(TreeNode *root) {
queue<TreeNode*> q;
q.push(root);
while(q.front()!=nullptr) {
TreeNode *t=q.front();
q.push(t->left);
q.push(t->right);
q.pop();
}
while(!q.empty() && q.front()==nullptr) {
q.pop();
}
return q.empty();
}
vector<bool> judgeIt(TreeNode* root) {
help1(root);
return {tag,help2(root)};
}
};
(1)性质