nodeVals
: 노드 값들이 담길 Setdfs
: 깊이 우선 탐색하며, 모든 노드들의 값을 nodeVals
에 추가sortedNodeVals
: nodeVals
에 담긴 값을 오름차 순 정렬function findSecondMinimumValue(root: TreeNode | null): number {
const nodeVals = new Set<number>()
function dfs(node: TreeNode): void {
nodeVals.add(node.val)
if(node.left) dfs(node.left)
if(node.right) dfs(node.right)
}
dfs(root)
const sortedNodeVals = [...nodeVals].toSorted((a, b) => a - b)
return sortedNodeVals[1] ?? -1
};