您的位置:首页 > 其它

leetcode validate binary search tree

2016-05-30 10:13 375 查看
题目:

Given a binary tree, determine if it is a valid binary search tree (BST).

Assume a BST is defined as follows:

The left subtree of a node contains only nodes with keys less than the node's key.

The right subtree of a node contains only nodes with keys greater than the node's key.

Both the left and right subtrees must also be binary search trees

这道题我想了个解法,就是为每一棵树设置上下界,用递归的算法求解。

然而报错,因为在设置上下限的时候,用Integer.max_value表示正无穷,Integer.min_value表示负无穷,

然而在具体操作的时候,树中有可能就存在Integer.max_value或者Integer.min_value
从而产生错误。

百度了一下,有个很巧妙的解法

即,对BST进行中序遍历,中序遍历的结果必然是升序的。

这道题的解法告诉我们,BST的中序遍历结果是个升序的数组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: