😎풀이

  1. root1root2 둘 다 없는 경우에만 null을 반환하며 둘 중 하나라도 존재할 경우 존재하는 노드 반환
  2. merged: root1root2의 합
  3. 재귀적으로 leaf 노드를 순회하며 두 tree를 병합함
  4. 병합된 결과 반환
function mergeTrees(root1: TreeNode | null, root2: TreeNode | null): TreeNode | null {
    if(!root1 && !root2) return null
    if(!root1) return root2
    if(!root2) return root1
    const leftVal = root1 ? root1.val : 0
    const rightVal = root2 ? root2.val : 0
    const merged = new TreeNode(leftVal + rightVal)
    merged.left = mergeTrees(root1.left, root2.left)
    merged.right = mergeTrees(root1.right, root2.right)
    return merged
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글