题目
个人解法
递归中序历遍,使用引用参数。基本思路和官解的递归一样,但是其实只用记录前一个值就可以。
public class Solution
{
public bool IsValidBST(TreeNode root)
{
int? pre = null;
return Inorder(root, ref pre);
}
private bool Inorder(TreeNode root, ref int? pre)
{
if (root == null)
return true;
if (!Inorder(root.left, ref pre))
return false;
if (pre != null && root.val <= pre)
return false;
pre = root.val;
return Inorder(root.right, ref pre);
}
}