File tree Expand file tree Collapse file tree 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 Expand file tree Collapse file tree 3 files changed +100
-0
lines changed Original file line number Diff line number Diff line change @@ -176,6 +176,41 @@ public:
176
176
};
177
177
```
178
178
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
+
179
214
### ** ...**
180
215
181
216
```
Original file line number Diff line number Diff line change @@ -152,6 +152,41 @@ public:
152
152
};
153
153
```
154
154
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
+
155
190
### ** ...**
156
191
157
192
```
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments