检查一个数组在 Python 中是否表示二叉查找树的中序
假设我们有一个数字数组,称为 nums。我们必须检查数组是否按其中序遍历的顺序保存了二叉查找树的元素。
因此,如果输入类似 nums = [5, 8, 15, 18, 20, 26, 39],则输出为 True,因为这是
为了解决此问题,我们将按照以下步骤操作 −
- size := nums 的大小
- 如果 size 为 0 或 1,则
- 返回 True
- 对于 range 1 至 size - 1 中的 i,执行
- 如果 nums[i - 1] > nums[i],则
- 返回 False
- 如果 nums[i - 1] > nums[i],则
- 返回 True
让我们看看以下实现以获得更好的理解 −
示例
def solve(nums): size = len(nums) if size == 0 or size == 1: return True for i in range(1, size): if nums[i - 1] > nums[i]: return False return True nums = [5, 8, 15, 18, 20, 26, 39] print(solve(nums))
输入
[5, 8, 15, 18, 20, 26, 39]
输出
True
广告