Kotlin Leetcode - 205. Isomorphic Strings
class Solution {
fun isIsomorphic(s: String, t: String): Boolean {
}
}
解題思路
這一題考的是對字串的處理
我們可以用一個 mutableMap
來進行兩個字串的比較
Kotlin 參考解答
class Solution {
fun isIsomorphic(s: String, t: String): Boolean {
if (s.toSet().size != t.toSet().size) {
return false
}
val map = mutableMapOf<Char, Char>()
for (i in s.indices) {
if (!map.containsKey(s[i])) {
map[s[i]] = t[i]
} else if (map[s[i]] != t[i]) {
return false
}
}
return true
}
}
或者將裡面的 if-else-if
改用 when
class Solution {
fun isIsomorphic(s: String, t: String): Boolean {
if (s.toSet().size != t.toSet().size) {
return false
}
val map = mutableMapOf<Char, Char>()
label@for (i in s.indices) {
when {
!map.containsKey(s[i]) -> map[s[i]] = t[i]
map[s[i]] != t[i] -> return false
else -> continue@label
}
}
return true
}
}
回到 leetcode 列表