File tree Expand file tree Collapse file tree 2 files changed +95
-0
lines changed
lcof2/剑指 Offer II 045. 二叉树最底层最左边的值 Expand file tree Collapse file tree 2 files changed +95
-0
lines changed Original file line number Diff line number Diff line change @@ -194,6 +194,56 @@ func findBottomLeftValue(root *TreeNode) int {
194
194
}
195
195
```
196
196
197
+ #### Swift
198
+
199
+ ``` swift
200
+ /* class TreeNode {
201
+ * var val: Int
202
+ * var left: TreeNode?
203
+ * var right: TreeNode?
204
+ * init() {
205
+ * self.val = 0
206
+ * self.left = nil
207
+ * self.right = nil
208
+ * }
209
+ * init(_ val: Int) {
210
+ * self.val = val
211
+ * self.left = nil
212
+ * self.right = nil
213
+ * }
214
+ * init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
215
+ * self.val = val
216
+ * self.left = left
217
+ * self.right = right
218
+ * }
219
+ * }
220
+ */
221
+
222
+ class Solution {
223
+ func findBottomLeftValue (_ root : TreeNode? ) -> Int {
224
+ var q = [TreeNode]()
225
+ q.append (root! )
226
+ var ans = -1
227
+ while ! q.isEmpty {
228
+ let n = q.count
229
+ for i in 0 ..< n {
230
+ let node = q.removeFirst ()
231
+ if i == 0 {
232
+ ans = node.val
233
+ }
234
+ if let left = node.left {
235
+ q.append (left)
236
+ }
237
+ if let right = node.right {
238
+ q.append (right)
239
+ }
240
+ }
241
+ }
242
+ return ans
243
+ }
244
+ }
245
+ ```
246
+
197
247
<!-- tabs: end -->
198
248
199
249
<!-- 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 findBottomLeftValue( _ root: TreeNode ? ) -> Int {
25
+ var q = [ TreeNode] ( )
26
+ q. append ( root!)
27
+ var ans = - 1
28
+ while !q. isEmpty {
29
+ let n = q. count
30
+ for i in 0 ..< n {
31
+ let node = q. removeFirst ( )
32
+ if i == 0 {
33
+ ans = node. val
34
+ }
35
+ if let left = node. left {
36
+ q. append ( left)
37
+ }
38
+ if let right = node. right {
39
+ q. append ( right)
40
+ }
41
+ }
42
+ }
43
+ return ans
44
+ }
45
+ }
You can’t perform that action at this time.
0 commit comments