题解 | #判断是不是二叉搜索树#

判断是不是二叉搜索树

https://www.nowcoder.com/practice/a69242b39baf45dea217815c7dedb52b

//使用栈辅助 先到最左点,再依次入数组,再到右节点。这样数组中为中序遍历
/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 *	TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 * };
 */
#include <climits>
#include <cstddef>
#include <stack>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @return bool布尔型
     */
   

    bool isValidBST(TreeNode* root) {
        // write code here
        if(root==NULL) return true;
        stack<TreeNode*> s;
        vector<int> vec;
        TreeNode *head=root;
        // s.push(head);
        while (!s.empty()||head) {
            while (head) {
                s.push(head);
                head=head->left;
            
            }
            head=s.top();
            s.pop();
            vec.push_back(head->val);
            head=head->right;

        
        }
        for (int i=1; i<vec.size(); i++) {
            if (vec[i-1]>vec[i]) {
                return false;
            
            }
        
        }
        return true;
        






    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务