class Solution:
    def findError(self , root: TreeNode) -> List[int]:
        # 中序遍历 
        stack = []
        pre = 0
        res = []
        while stack or root:
            while root:
                stack.append(root)
                root = root.left 
            root = stack.pop()
            if  root.val < pre:  # 把错误的两个点都加入
                res.append(root.val)
                res.append(pre)
            pre = root.val
            root = root.right
        res.sort()
        return [res[0],res[-1]]  # 排序后只有第一个和最后一个是错误点