Skip to content

Commit 3837bff

Browse files
authored
feat: add typescript solution to lc problem: No.0617.Merge Two Binary Trees (doocs#486)
1 parent 98c496c commit 3837bff

File tree

3 files changed

+76
-0
lines changed

3 files changed

+76
-0
lines changed

solution/0600-0699/0617.Merge Two Binary Trees/README.md

+27
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,33 @@ class Solution {
9797
}
9898
```
9999

100+
### **TypeScript**
101+
102+
```ts
103+
/**
104+
* Definition for a binary tree node.
105+
* class TreeNode {
106+
* val: number
107+
* left: TreeNode | null
108+
* right: TreeNode | null
109+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
110+
* this.val = (val===undefined ? 0 : val)
111+
* this.left = (left===undefined ? null : left)
112+
* this.right = (right===undefined ? null : right)
113+
* }
114+
* }
115+
*/
116+
117+
function mergeTrees(root1: TreeNode | null, root2: TreeNode | null): TreeNode | null {
118+
if (root1 == null && root2 == null) return null;
119+
if (root1 == null) return root2;
120+
if (root2 == null) return root1;
121+
let left = mergeTrees(root1.left, root2.left);
122+
let right = mergeTrees(root1.right, root2.right);
123+
return new TreeNode(root1.val + root2.val, left, right);
124+
};
125+
```
126+
100127
### **C++**
101128

102129
```cpp

solution/0600-0699/0617.Merge Two Binary Trees/README_EN.md

+27
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,33 @@ class Solution {
9595
}
9696
```
9797

98+
### **TypeScript**
99+
100+
```ts
101+
/**
102+
* Definition for a binary tree node.
103+
* class TreeNode {
104+
* val: number
105+
* left: TreeNode | null
106+
* right: TreeNode | null
107+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
108+
* this.val = (val===undefined ? 0 : val)
109+
* this.left = (left===undefined ? null : left)
110+
* this.right = (right===undefined ? null : right)
111+
* }
112+
* }
113+
*/
114+
115+
function mergeTrees(root1: TreeNode | null, root2: TreeNode | null): TreeNode | null {
116+
if (root1 == null && root2 == null) return null;
117+
if (root1 == null) return root2;
118+
if (root2 == null) return root1;
119+
let left = mergeTrees(root1.left, root2.left);
120+
let right = mergeTrees(root1.right, root2.right);
121+
return new TreeNode(root1.val + root2.val, left, right);
122+
};
123+
```
124+
98125
### **C++**
99126

100127
```cpp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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 mergeTrees(root1: TreeNode | null, root2: TreeNode | null): TreeNode | null {
16+
if (root1 == null && root2 == null) return null;
17+
if (root1 == null) return root2;
18+
if (root2 == null) return root1;
19+
let left = mergeTrees(root1.left, root2.left);
20+
let right = mergeTrees(root1.right, root2.right);
21+
return new TreeNode(root1.val + root2.val, left, right);
22+
};

0 commit comments

Comments
 (0)