Leetcode Java Merge Two Binary Trees
업데이트:
문제
코드
class Solution {
public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
if (root1 == null) {
return root2;
}
if (root2 == null) {
return root1;
}
root1.val += root2.val;
root1.left = this.mergeTrees(root1.left, root2.left);
root1.right = this.mergeTrees(root1.right, root2.right);
return root1;
}
}
결과
설명
-
root1과 root2의 두 이진 트리를 합치는 문제이다.
- 합칠 노드가 없는 두 경우를 먼저 확인한다.
- root1이 null인 경우 root2와 합칠 이진 트리가 없으므로, root2를 주어진 문제의 결과로 반환한다.
- root2가 null인 경우 root1과 합칠 이진 트리가 없으므로, root1을 주어진 문제의 결과로 반환한다.
-
root1의 val 값에 root2의 val을 더해준다.
-
root1의 left TreeNode에 root1의 left TreeNode와 root2의 left TreeNode를 이용하여 재귀 호출을 수행한 결과를 넣어준다.
-
root1의 right TreeNode에 root1의 lrighteft TreeNode와 root2의 right TreeNode를 이용하여 재귀 호출을 수행한 결과를 넣어준다.
- root1에 root2를 합쳤으므로, root1을 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기