반응형
허구헌날 릿코드에 트리노드문제가 나오는데 항상 헷갈려서 한번 정리하고자한다.
일단 이거라도 외우고 해보자고~
// 이진 트리 노드 정의
function TreeNode(val) {
this.val = val;
this.left = null;
this.right = null;
}
// 트리 생성
const root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
// DFS를 사용하여 트리 순회
const dfs = (node) => {
if (!node) return;
console.log(node.val); // 노드 값 출력
dfs(node.left); // 왼쪽 자식 노드 탐색
dfs(node.right); // 오른쪽 자식 노드 탐색
};
dfs(root); // DFS 호출
// 특정 노드 값 가져오기
console.log(root.left.right.val); // 5
// 특정 노드 값 설정하기
root.left.right.val = 6;
console.log(root.left.right.val); // 6
반응형
'개발관련 노트 > JavaScript' 카테고리의 다른 글
자바스크립트 내장함수 정리 (0) | 2024.01.24 |
---|---|
forEach, for, map의 차이점 (0) | 2024.01.23 |