方法一 : 先將字串排序,再比對兩個字串是否相同
class Solution {
fun isAnagram(s: String, t: String): Boolean {
val sortedS = s.toCharArray().sorted().joinToString("")
//println(sortedS)
val sortedT = t.toCharArray().sorted().joinToString("")
//println(sortedT)
return sortedS==sortedT
}
}
方法二 : 儲存 Char 出現次數於 Map
class Solution {
fun isAnagram(s: String, t: String): Boolean {
var hashMap : MutableMap = mutableMapOf()
for (x in s.toCharArray()){
if(hashMap[x] != null){
hashMap[x] = hashMap[x]!! + 1;
}else{
hashMap[x] = 1
}
}
for (x in t.toCharArray()){
if(hashMap[x]!=null){
hashMap[x] = hashMap[x]!! - 1;
}else{
hashMap[x] = 1
}
}
hashMap.forEach{
if (it.value != 0) return false
}
return true
}
}
方法三 : 儲存 Char 出現次數於 Array
class Solution {
fun isAnagram(s: String, t: String): Boolean {
var count : IntArray = IntArray(26)
for (x in s.toCharArray()){
count[x-'a']++
}
for (x in t.toCharArray()){
count[x-'a']--
}
for(i in 0..25){
if (count[i] != 0) return false
}
return true
}
}
0 comments:
張貼留言