@cxm-2016
2016-12-15T10:54:33.000000Z
字数 335
阅读 1904
算法
版本:1
作者:陈小默
说明:两个含有相同字符并且各字符数量相等的字符串互为变形词,比如”hello“
和"elolh"
。
思路:先对第一个字符串遍历,将其中每个字符的数量保存到Map中。然后遍历第二个字符串,并比较每个字符串的数量。
代码:
fun isDeformation(str1: String, str2: String): Boolean {
if (str1.length == str2.length)
return false
val map = IntArray(256, { 0 })
for (c in str1)
map[c.toInt()]++
for (c in str2) {
if (map[c.toInt()]-- == 0)
return false
}
return true
}