#一人分享一道面试手撕题#【题目来源】
公司/部门:腾讯-微信支付后台开发
面试轮次:二面
考察形式:共享屏幕现场编写
【原题描述】
实现一个函数,用于验证二叉搜索树(BST)的有效性。
给定二叉树根节点,判断该树是否是有效的二叉搜索树。
有效BST定义为:
- 左子树所有节点值 < 当前节点值
- 右子树所有节点值 > 当前节点值
- 左右子树也必须是BST
示例:
输入:[5,1,4,null,null,3,6]
输出:false(根节点5的右子树中包含值3,小于5)
要求:时间复杂度尽可能优
【面试官关注点】
是否理解BST的本质定义(不仅是左右孩子大小关系)
能否想到利用上下界递归验证的思路
边界条件处理:空树、int边界值、重复值处理
代码简洁性和变量命名可读性
公司/部门:腾讯-微信支付后台开发
面试轮次:二面
考察形式:共享屏幕现场编写
【原题描述】
实现一个函数,用于验证二叉搜索树(BST)的有效性。
给定二叉树根节点,判断该树是否是有效的二叉搜索树。
有效BST定义为:
- 左子树所有节点值 < 当前节点值
- 右子树所有节点值 > 当前节点值
- 左右子树也必须是BST
示例:
输入:[5,1,4,null,null,3,6]
输出:false(根节点5的右子树中包含值3,小于5)
要求:时间复杂度尽可能优
【面试官关注点】
是否理解BST的本质定义(不仅是左右孩子大小关系)
能否想到利用上下界递归验证的思路
边界条件处理:空树、int边界值、重复值处理
代码简洁性和变量命名可读性
全部评论
好难啊 不愧是大佬
相关推荐
查看12道真题和解析 点赞 评论 收藏
分享
牛志超人:牛客大多数人爱装
点赞 评论 收藏
分享
