File tree Expand file tree Collapse file tree 2 files changed +44
-1
lines changed Expand file tree Collapse file tree 2 files changed +44
-1
lines changed Original file line number Diff line number Diff line change @@ -55,7 +55,7 @@ If you would like to have collaborator permissions on the repo to merge your own
55
55
<sub>[0347 - Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/)</sub> | <sub><div align='center'>[✔️](c%2F0347-top-k-frequent-elements.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0347-top-k-frequent-elements.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0347-top-k-frequent-elements.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0347-top-k-frequent-elements.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0347-top-k-frequent-elements.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0347-top-k-frequent-elements.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0347-top-k-frequent-elements.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0347-top-k-frequent-elements.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0347-top-k-frequent-elements.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0347-top-k-frequent-elements.rs)</div></sub> | <sub><div align='center'>[✔️](scala%2F0347-top-k-frequent-elements.scala)</div></sub> | <sub><div align='center'>[✔️](swift%2F0347-top-k-frequent-elements.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0347-top-k-frequent-elements.ts)</div></sub>
56
56
<sub>[0238 - Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)</sub> | <sub><div align='center'>[✔️](c%2F0238-product-of-array-except-self.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0238-product-of-array-except-self.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0238-product-of-array-except-self.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0238-product-of-array-except-self.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0238-product-of-array-except-self.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0238-product-of-array-except-self.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0238-product-of-array-except-self.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0238-product-of-array-except-self.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0238-product-of-array-except-self.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0238-product-of-array-except-self.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0238-product-of-array-except-self.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0238-product-of-array-except-self.ts)</div></sub>
57
57
<sub>[0036 - Valid Sudoku](https://leetcode.com/problems/valid-sudoku/)</sub> | <sub><div align='center'>[✔️](c%2F0036-valid-sudoku.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0036-valid-sudoku.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0036-valid-sudoku.cs)</div></sub> | <sub><div align='center'>[✔️](dart%2F0036-valid-sudoku.dart)</div></sub> | <sub><div align='center'>[✔️](go%2F0036-valid-sudoku.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0036-valid-sudoku.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0036-valid-sudoku.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0036-valid-sudoku.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0036-valid-sudoku.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0036-valid-sudoku.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0036-valid-sudoku.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0036-valid-sudoku.ts)</div></sub>
58
- <sub>[0271 - Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0271-encode-and-decode-strings.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0271-encode-and-decode-strings.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0271-encode-and-decode-strings.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0271-encode-and-decode-strings.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0271-encode-and-decode-strings.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0271-encode-and-decode-strings.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0271-encode-and-decode-strings.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0271-encode-and-decode-strings.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0271-encode-and-decode-strings.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0271-encode-and-decode-strings.ts)</div></sub>
58
+ <sub>[0271 - Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0271-encode-and-decode-strings.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0271-encode-and-decode-strings.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0271-encode-and-decode-strings.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0271-encode-and-decode-strings.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0271-encode-and-decode-strings.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0271-encode-and-decode-strings.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0271-encode-and-decode-strings.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0271-encode-and-decode-strings.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0271-encode-and-decode-strings.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0271-encode-and-decode-strings.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0271-encode-and-decode-strings.ts)</div></sub>
59
59
<sub>[0128 - Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)</sub> | <sub><div align='center'>[✔️](c%2F0128-longest-consecutive-sequence.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0128-longest-consecutive-sequence.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0128-longest-consecutive-sequence.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0128-longest-consecutive-sequence.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0128-longest-consecutive-sequence.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0128-longest-consecutive-sequence.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0128-longest-consecutive-sequence.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0128-longest-consecutive-sequence.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0128-longest-consecutive-sequence.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0128-longest-consecutive-sequence.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0128-longest-consecutive-sequence.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0128-longest-consecutive-sequence.ts)</div></sub>
60
60
<sub>[0075 - Sort Colors](https://leetcode.com/problems/sort-colors/)</sub> | <sub><div align='center'>[✔️](c%2F0075-sort-colors.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0075-Sort-colors.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0075-sort-colors.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0075-sort-colors.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0075-sort-colors.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0075-sort-colors.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0075-sort-colors.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0075-sort-colors.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0075-sort-colors.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0075-sort-colors.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0075-sort-colors.ts)</div></sub>
61
61
<sub>[0535 - Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl/)</sub> | <sub><div align='center'>[✔️](c%2F0535-encode-and-decode-tinyurl.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0535-encode-and-decode-tinyurl.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0535-encode-and-decode-tinyurl.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0535-encode-and-decode-tinyurl.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0535-encode-and-decode-tinyurl.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0535-encode-and-decode-tinyurl.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0535-encode-and-decode-tinyurl.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0535-encode-and-decode-tinyURL.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0535-Encode-and-Decode-TinyURL.Swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0535-encode-and-decode-tinyurl.ts)</div></sub>
Original file line number Diff line number Diff line change
1
+ package kotlin
2
+
3
+ class Codec {
4
+ // Encodes a list of strings to a single string.
5
+ fun encode (strs : List <String >): String {
6
+ val stringBuilder = StringBuilder ()
7
+ for (string in strs) {
8
+ for (char in string) {
9
+ stringBuilder.append(char.toInt()) // char.code in newer version's of Kotlin
10
+ stringBuilder.append(CHAR_DELIMITER )
11
+ }
12
+ stringBuilder.append(STRING_DELIMITER )
13
+ }
14
+ return stringBuilder.toString()
15
+ }
16
+
17
+ // Decodes a single string to a list of strings.
18
+ fun decode (s : String ): List <String > {
19
+ val stringBuilder = StringBuilder ()
20
+ val resultantList = mutableListOf<String >()
21
+ var i = 0
22
+ while (i in s.indices) {
23
+ while (s[i] != STRING_DELIMITER ) {
24
+ var charIntegerValue = " "
25
+ while (s[i] != CHAR_DELIMITER ) {
26
+ charIntegerValue + = s[i]
27
+ i++
28
+ }
29
+ stringBuilder.append(charIntegerValue.toInt().toChar())
30
+ i++
31
+ }
32
+ resultantList.add(stringBuilder.toString())
33
+ stringBuilder.clear()
34
+ i++
35
+ }
36
+ return resultantList
37
+ }
38
+
39
+ companion object {
40
+ private const val CHAR_DELIMITER = ' |'
41
+ private const val STRING_DELIMITER = ' /'
42
+ }
43
+ }
You can’t perform that action at this time.
0 commit comments