[leetcode 617] Merge Two Binary Trees

617. Merge Two Binary Trees

https://leetcode.com/problems/merge-two-binary-trees/

해결 과정

트리 노드(V)에 원하는 동작인 t1.value += t2.value 를 반복한다.

트리 구조이기 때문에 동작을 왼쪽 트리(L)와 오른쪽 트리(R)에도 수행을 시켜준다. Recursive하게 동작하므로, 탈출 조건인 null 체크도 알맞게 추가하였다.

코드

fun mergeTrees(t1: TreeNode?, t2: TreeNode?): TreeNode? {
  if(null == t1) return t2
  if(null == t2) return t1
        
  t1.`val` += t2.`val`
  t1.left = mergeTrees(t1.left, t2.left)
  t1.right = mergeTrees(t1.right, t2.right)
  return t1
}

배운 점

새로운 트리나 트리 노드를 생성하지 않고, 주어진 노드에 값만 더하는 방식으로 동작할 수 있다.

Leave a comment