Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 6ddbbfc

Browse filesBrowse files
authored
feat: add swift implementation to lcof2 problem: No.046 (doocs#3061)
1 parent b89c772 commit 6ddbbfc
Copy full SHA for 6ddbbfc

File tree

Expand file treeCollapse file tree

2 files changed

+95
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+95
-0
lines changed
Open diff view settings
Collapse file

‎lcof2/剑指 Offer II 046. 二叉树的右侧视图/README.md‎

Copy file name to clipboardExpand all lines: lcof2/剑指 Offer II 046. 二叉树的右侧视图/README.md
+50Lines changed: 50 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,56 @@ func rightSideView(root *TreeNode) []int {
200200
}
201201
```
202202

203+
#### Swift
204+
205+
```swift
206+
/* class TreeNode {
207+
* var val: Int
208+
* var left: TreeNode?
209+
* var right: TreeNode?
210+
* init() {
211+
* self.val = 0
212+
* self.left = nil
213+
* self.right = nil
214+
* }
215+
* init(_ val: Int) {
216+
* self.val = val
217+
* self.left = nil
218+
* self.right = nil
219+
* }
220+
* init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
221+
* self.val = val
222+
* self.left = left
223+
* self.right = right
224+
* }
225+
* }
226+
*/
227+
228+
class Solution {
229+
func rightSideView(_ root: TreeNode?) -> [Int] {
230+
var ans = [Int]()
231+
guard let root = root else {
232+
return ans
233+
}
234+
var q = [TreeNode]()
235+
q.append(root)
236+
while !q.isEmpty {
237+
ans.append(q[0].val)
238+
for _ in 0..<q.count {
239+
let node = q.removeFirst()
240+
if let right = node.right {
241+
q.append(right)
242+
}
243+
if let left = node.left {
244+
q.append(left)
245+
}
246+
}
247+
}
248+
return ans
249+
}
250+
}
251+
```
252+
203253
<!-- tabs:end -->
204254

205255
<!-- solution:end -->
Collapse file
+45Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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 rightSideView(_ root: TreeNode?) -> [Int] {
25+
var ans = [Int]()
26+
guard let root = root else {
27+
return ans
28+
}
29+
var q = [TreeNode]()
30+
q.append(root)
31+
while !q.isEmpty {
32+
ans.append(q[0].val)
33+
for _ in 0..<q.count {
34+
let node = q.removeFirst()
35+
if let right = node.right {
36+
q.append(right)
37+
}
38+
if let left = node.left {
39+
q.append(left)
40+
}
41+
}
42+
}
43+
return ans
44+
}
45+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.