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

判断是不是二叉搜索树

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;

}

全部评论

相关推荐

搞机墨镜猫:参考一下其他人简历吧, 把项目放最上面,没有项目就展开写实习,实习项目具体做了啥,现在很空 奖项写含金量高的,还有校园经历也是,不是运营岗基本上可以都删了
点赞 评论 收藏
分享
2025-12-15 12:50
河北工程大学
sta666:我也是这个国际商业化的,三天,一天一面,就通过了,不过我是后端实习生,好好面感觉能过。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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