题目要求:给定一个二叉树,判断其是否是一个有效的二叉搜索树。
思路:首先对于二叉搜索树,它的中序遍历是有序的。最简单的想法就是将二叉搜索树转成一个数组,验证数组是否有序就可以(二叉搜索树中没有重复元素)。也可以不新建数组,直接在树上进行操作,但注意二叉搜索树的定义,左子树节点都小于中间节点,右子树都大于中间节点,可以通过双指针法进行优化。
leetcode实战:
代码实现:
递归法:
迭代法:
题目要求:给定一个二叉树,判断其是否是一个有效的二叉搜索树。
思路:首先对于二叉搜索树,它的中序遍历是有序的。最简单的想法就是将二叉搜索树转成一个数组,验证数组是否有序就可以(二叉搜索树中没有重复元素)。也可以不新建数组,直接在树上进行操作,但注意二叉搜索树的定义,左子树节点都小于中间节点,右子树都大于中间节点,可以通过双指针法进行优化。
leetcode实战:
代码实现:
递归法:
迭代法:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528576.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!