题目描述:
    image.png
    image.png
    解析:先中序遍历,然后判断结果是否有序

    1. class Solution {
    2. List<Integer> res = new ArrayList<>();
    3. public boolean isValidBST(TreeNode root) {
    4. //中序遍历+迭代看是否是有序
    5. List<Integer> list = inorderTraversal(root);
    6. if (list.size() == 1) return true;
    7. for (int i = 1; i < list.size(); i++) {
    8. if (list.get(i - 1) >= list.get(i)) return false;
    9. }
    10. return true;
    11. }
    12. private List<Integer> inorderTraversal(TreeNode root) {
    13. //递归的中序遍历
    14. if (root == null) return new ArrayList<>();
    15. inorderTraversal(root.left);
    16. res.add(root.val);
    17. inorderTraversal(root.right);
    18. return res;
    19. }
    20. }