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

判断是不是二叉搜索树

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

C语言

//参考思路:把二叉树按照前序遍历把节点值压入栈,根据栈是否单调递增判断

void recursion(struct TreeNode* node, int *stack, int *st_i){

    if(node == NULL)return;

    recursion(node->left, stack, st_i); //前序遍历,把节点值压入栈

    stack[(*st_i)++] = node->val;

    recursion(node->right, stack, st_i);

}

bool isValidBST(struct TreeNode* root ) {

    // write code here

    int stack[10000] = {0};

    int st_i = 0;

    recursion(root, stack, &st_i);

    for(int i=0; i<st_i-1; i++){    //判断栈是否单调递增

        if(stack[i] >= stack[i+1])

            return false;

    }

    return true;

}

全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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