File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change 4
4
<content url =" file://$MODULE_DIR$" dumb =" true" >
5
5
<sourceFolder url =" file://$MODULE_DIR$/test" isTestSource =" true" packagePrefix =" com.github.masx200.leetcode_test" />
6
6
<sourceFolder url =" file://$MODULE_DIR$" isTestSource =" false" packagePrefix =" com.github.masx200.leetcode_test" />
7
+ <sourceFolder url =" file://$MODULE_DIR$/zigzag-iterator" isTestSource =" false" packagePrefix =" com.github.masx200.leetcode_test.zigzag_iterator" />
7
8
<excludeFolder url =" file://$MODULE_DIR$/target" />
8
9
</content >
9
10
</component >
Original file line number Diff line number Diff line change
1
+ package com.github.masx200.leetcode_test.com.github.leetcode_test.zigzag_iterator
2
+
3
+
4
+ private fun ZigzagGenerator (v1 : List <Int >, v2 : List <Int >): Sequence <Int > = sequence<Int > {
5
+ if (v1.size < v2.size) {
6
+ for (i in 0 until v1.size) {
7
+ yield (v1[i])
8
+
9
+ yield (v2[i])
10
+ }
11
+ for (i in v1.size until v2.size) {
12
+ yield (v2[i])
13
+
14
+ }
15
+ } else {
16
+ yieldAll(ZigzagGenerator (v2, v1))
17
+ }
18
+
19
+ }
20
+
21
+ class ZigzagIterator (v1 : List <Int >, v2 : List <Int >) {
22
+
23
+
24
+ private val generator = ZigzagGenerator (v1, v2)
25
+
26
+
27
+ private val iterator = generator.iterator()
28
+ fun next (): Int {
29
+ return iterator.next()
30
+ }
31
+
32
+ fun hasNext (): Boolean {
33
+ return iterator.hasNext()
34
+ }
35
+ }
You can’t perform that action at this time.
0 commit comments