Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 07d7ace

Browse files
committed
feat: add ts solution to lc problem: No.1379
No.1379.Find a Corresponding Node of a Binary Tree in a Clone of That Tree
1 parent 6356387 commit 07d7ace

File tree

3 files changed

+100
-0
lines changed

3 files changed

+100
-0
lines changed

‎solution/1300-1399/1379.Find a Corresponding Node of a Binary Tree in a Clone of That Tree/README.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,41 @@ public:
176176
};
177177
```
178178
179+
### **TypeScript**
180+
181+
```ts
182+
/**
183+
* Definition for a binary tree node.
184+
* class TreeNode {
185+
* val: number
186+
* left: TreeNode | null
187+
* right: TreeNode | null
188+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
189+
* this.val = (val===undefined ? 0 : val)
190+
* this.left = (left===undefined ? null : left)
191+
* this.right = (right===undefined ? null : right)
192+
* }
193+
* }
194+
*/
195+
196+
function getTargetCopy(
197+
original: TreeNode | null,
198+
cloned: TreeNode | null,
199+
target: TreeNode | null,
200+
): TreeNode | null {
201+
if (cloned === null) {
202+
return null;
203+
}
204+
if (cloned.val === target.val) {
205+
return cloned;
206+
}
207+
return (
208+
getTargetCopy(original, cloned.left, target) ||
209+
getTargetCopy(original, cloned.right, target)
210+
);
211+
}
212+
```
213+
179214
### **...**
180215

181216
```

‎solution/1300-1399/1379.Find a Corresponding Node of a Binary Tree in a Clone of That Tree/README_EN.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,41 @@ public:
152152
};
153153
```
154154
155+
### **TypeScript**
156+
157+
```ts
158+
/**
159+
* Definition for a binary tree node.
160+
* class TreeNode {
161+
* val: number
162+
* left: TreeNode | null
163+
* right: TreeNode | null
164+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
165+
* this.val = (val===undefined ? 0 : val)
166+
* this.left = (left===undefined ? null : left)
167+
* this.right = (right===undefined ? null : right)
168+
* }
169+
* }
170+
*/
171+
172+
function getTargetCopy(
173+
original: TreeNode | null,
174+
cloned: TreeNode | null,
175+
target: TreeNode | null,
176+
): TreeNode | null {
177+
if (cloned === null) {
178+
return null;
179+
}
180+
if (cloned.val === target.val) {
181+
return cloned;
182+
}
183+
return (
184+
getTargetCopy(original, cloned.left, target) ||
185+
getTargetCopy(original, cloned.right, target)
186+
);
187+
}
188+
```
189+
155190
### **...**
156191

157192
```
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* class TreeNode {
4+
* val: number
5+
* left: TreeNode | null
6+
* right: TreeNode | null
7+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
8+
* this.val = (val===undefined ? 0 : val)
9+
* this.left = (left===undefined ? null : left)
10+
* this.right = (right===undefined ? null : right)
11+
* }
12+
* }
13+
*/
14+
15+
function getTargetCopy(
16+
original: TreeNode | null,
17+
cloned: TreeNode | null,
18+
target: TreeNode | null,
19+
): TreeNode | null {
20+
if (cloned === null) {
21+
return null;
22+
}
23+
if (cloned.val === target.val) {
24+
return cloned;
25+
}
26+
return (
27+
getTargetCopy(original, cloned.left, target) ||
28+
getTargetCopy(original, cloned.right, target)
29+
);
30+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /