题目描述:
解析:先中序遍历,然后判断结果是否有序
class Solution {
List<Integer> res = new ArrayList<>();
public boolean isValidBST(TreeNode root) {
//中序遍历+迭代看是否是有序
List<Integer> list = inorderTraversal(root);
if (list.size() == 1) return true;
for (int i = 1; i < list.size(); i++) {
if (list.get(i - 1) >= list.get(i)) return false;
}
return true;
}
private List<Integer> inorderTraversal(TreeNode root) {
//递归的中序遍历
if (root == null) return new ArrayList<>();
inorderTraversal(root.left);
res.add(root.val);
inorderTraversal(root.right);
return res;
}
}