問題: git
方法: 經過LinkedHashMap存儲字符出現次數,keys的順序做爲S中字符的順序。遍歷T中字符,統計全部字符的次數,最後按keys的順序和字符次數輸出最終結果便可。github
具體實現:bash
class CustomSortString {
fun customSortString(S: String, T: String): String {
val map = mutableMapOf<Char, Int>()
for (el in S) {
map[el] = 0
}
for (el in T) {
var num = map[el]
if (num == null || num == 0) {
num = 1
} else {
num++
}
map[el] = num
}
val result = StringBuilder()
for (el in map.keys) {
val num = map[el]
if (num == null) {
continue
} else {
for (i in 1..num) {
result.append(el)
}
}
}
return result.toString()
}
}
fun main(args: Array<String>) {
val S = "cba"
val T = "abcd"
val customSortString = CustomSortString()
val result = customSortString.customSortString(S, T)
println(result)
}
複製代碼
有問題隨時溝通app