File tree 3 files changed +76
-0
lines changed
solution/0600-0699/0617.Merge Two Binary Trees
3 files changed +76
-0
lines changed Original file line number Diff line number Diff line change @@ -97,6 +97,33 @@ class Solution {
97
97
}
98
98
```
99
99
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
+
100
127
### ** C++**
101
128
102
129
``` cpp
Original file line number Diff line number Diff line change @@ -95,6 +95,33 @@ class Solution {
95
95
}
96
96
```
97
97
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
+
98
125
### ** C++**
99
126
100
127
``` cpp
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 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
+ } ;
You can’t perform that action at this time.
0 commit comments