/** * @description: 方法二:非递归中序遍历 * @param {TreeNode}root * @return {boolean} */ const isValidBST = function (root) { let pre = -Infinity let stack = [] let cur = root
while (cur || stack.length !== 0) { if (cur) { stack.push(cur) cur = cur.left } else { cur = stack.pop() if (cur.val <= pre) { returnfalse } pre= cur.val cur = cur.right } } returntrue }