Skip to content

Commit e6399f1

Browse files
committed
add 1379-kir3i.py, 1379-kir3i.md
1 parent 7d531fb commit e6399f1

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

solutions/1379/1379-kir3i.md

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# 1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree
2+
3+
## Solution
4+
5+
- 시간복잡도: O(N) (N은 트리의 노드의 수)
6+
7+
- 알고리즘
8+
9+
BFS, DFS, 트리 순회
10+
11+
- 풀이설명
12+
13+
`cloned`를 순회하며 같은 `val`을 갖는 노드에 도착할 시 해당 노드를 반환합니다. 아래 코드에서는 트리 순회 방법으로 BFS를 사용했습니다.
14+
15+
- 소스코드
16+
17+
```python
18+
# Definition for a binary tree node.
19+
# class TreeNode:
20+
# def __init__(self, x):
21+
# self.val = x
22+
# self.left = None
23+
# self.right = None
24+
25+
class Solution:
26+
def getTargetCopy(self, original, cloned, target):
27+
q = []
28+
q.append(cloned)
29+
30+
while q:
31+
curr = q.pop()
32+
if curr.val == target.val:
33+
return curr
34+
35+
if curr.left:
36+
q.append(curr.left)
37+
if curr.right:
38+
q.append(curr.right)
39+
```
40+

solutions/1379/1379-kir3i.py

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.left = None
6+
# self.right = None
7+
8+
class Solution:
9+
def getTargetCopy(self, original, cloned, target):
10+
q = []
11+
q.append(cloned)
12+
13+
while q:
14+
curr = q.pop()
15+
if curr.val == target.val:
16+
return curr
17+
18+
if curr.left:
19+
q.append(curr.left)
20+
if curr.right:
21+
q.append(curr.right)

0 commit comments

Comments
 (0)