
😎풀이
tiltSum
: 기울기의 총합
dfs
: 깊이 우선 탐색
2-1. 좌측 기울기를 재귀적으로 탐색
2-2. 우측 기울기를 재귀적으로 탐색
2-3. 현재 기울기를 좌측 기울기와 우측 기울기를 통해 정의
2-4. tiltSum
에 현재 기울기 누적
2-5. 탐색을 위해 현재 값과 좌, 우측 기울기를 모두 합한 값 반환
root
노드를 통해 깊이 우선 탐색 실행
- 기울기의 총합(
tiltSum
) 반환
function findTilt(root: TreeNode | null): number {
let tiltSum = 0
function dfs(node: TreeNode | null): number {
if(!node) return 0
const leftTilt = dfs(node.left)
const rightTilt = dfs(node.right)
const curTilt = Math.abs(leftTilt - rightTilt)
tiltSum += curTilt
return node.val + leftTilt + rightTilt
}
dfs(root)
return tiltSum
};