File tree Expand file tree Collapse file tree 2 files changed +75
-0
lines changed
lcof2/剑指 Offer II 047. 二叉树剪枝 Expand file tree Collapse file tree 2 files changed +75
-0
lines changed Original file line number Diff line number Diff line change @@ -201,6 +201,46 @@ var pruneTree = function (root) {
201
201
};
202
202
```
203
203
204
+ #### Swift
205
+
206
+ ``` swift
207
+ /* class TreeNode {
208
+ * var val: Int
209
+ * var left: TreeNode?
210
+ * var right: TreeNode?
211
+ * init() {
212
+ * self.val = 0
213
+ * self.left = nil
214
+ * self.right = nil
215
+ * }
216
+ * init(_ val: Int) {
217
+ * self.val = val
218
+ * self.left = nil
219
+ * self.right = nil
220
+ * }
221
+ * init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
222
+ * self.val = val
223
+ * self.left = left
224
+ * self.right = right
225
+ * }
226
+ * }
227
+ */
228
+
229
+ class Solution {
230
+ func pruneTree (_ root : TreeNode? ) -> TreeNode? {
231
+ guard let root = root else {
232
+ return nil
233
+ }
234
+ root.left = pruneTree (root.left )
235
+ root.right = pruneTree (root.right )
236
+ if root.val == 0 && root.left == nil && root.right == nil {
237
+ return nil
238
+ }
239
+ return root
240
+ }
241
+ }
242
+ ```
243
+
204
244
<!-- tabs: end -->
205
245
206
246
<!-- solution: end -->
Original file line number Diff line number Diff line change
1
+ /* class TreeNode {
2
+ * var val: Int
3
+ * var left: TreeNode?
4
+ * var right: TreeNode?
5
+ * init() {
6
+ * self.val = 0
7
+ * self.left = nil
8
+ * self.right = nil
9
+ * }
10
+ * init(_ val: Int) {
11
+ * self.val = val
12
+ * self.left = nil
13
+ * self.right = nil
14
+ * }
15
+ * init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
16
+ * self.val = val
17
+ * self.left = left
18
+ * self.right = right
19
+ * }
20
+ * }
21
+ */
22
+
23
+ class Solution {
24
+ func pruneTree( _ root: TreeNode ? ) -> TreeNode ? {
25
+ guard let root = root else {
26
+ return nil
27
+ }
28
+ root. left = pruneTree ( root. left)
29
+ root. right = pruneTree ( root. right)
30
+ if root. val == 0 && root. left == nil && root. right == nil {
31
+ return nil
32
+ }
33
+ return root
34
+ }
35
+ }
You can’t perform that action at this time.
0 commit comments