Skip to content
Algorithm.js
📚 단일 패턴

98. Validate Binary Search Tree

중위 순회 DFS로 이전 노드보다 값이 큰지 확인하며 BST 유효성을 판별하는 방법 정리.

Oct 14, 2025 — graph-dfs

문제 설명

해결 전략

풀이 아이디어

구현

/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {boolean}
*/
var isValidBST = function(root) {
let prv = null;
const dfs = (node) => {
if (!node) return true;
const left = dfs(node.left);
if (prv) {
if (!(prv.val < node.val)) return false;
}
prv = node;
const right = dfs(node.right);
return left && right;
}
return dfs(root)
};