File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree 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
5555<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>
5656<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>
5757<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>
5959<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>
6060<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>
6161<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