判断回文字符串_Kotlin Heroes 科特林英雄 练习赛 1 C 题 :输入的英文字符串一定是回文吗?...
Kotlin Heroes 科特林英雄 练习赛 1 C 题 :输入的英文字符串一定是回文吗?题目:给你一个字符串 s 仅包含小写字母。如果它不是回文,就称它为好字符串。回文是从左至右与从右至左相同读取的字符串。例如,字符串abacaba ,aa 和z是回文,而字符串bba,xd则不是。你可以根据需要重新排列该字符串的所有字母。你的任务是:通过重新排列给定字符串的字母来获得一个好的字符串,或者判断无
·
Kotlin Heroes 科特林英雄 练习赛 1 C 题 :输入的英文字符串一定是回文吗?
题目:
给你一个字符串 s 仅包含小写字母。如果它不是回文,就称它为好字符串。回文是从左至右与从右至左相同读取的字符串。例如,字符串abacaba ,aa 和z是回文,而字符串bba,xd则不是。
你可以根据需要重新排列该字符串的所有字母。你的任务是:通过重新排列给定字符串的字母来获得一个好的字符串,或者判断无法做到这一点。
要求
输入项:
第一行需要先输入一个整数 t (1≤t≤100) — 需要查询的次数; 下一行开始,需要 t 个英文字符串,长度在 1 到 1000 之间
类似:
// 输入:
3
aa
abacaba
xdd
输出项:
如果可以生成回文字符串则返回 -1;否则返回排列后的字符串; 类似:
// 输出:
-1
abaacba
xdd
分析
- 题目要求即是,将输入的字符串重新排列,生成一个非回文字符串
- 我们将输入的字母字符串,按 a,b,c,d,e,f,g...重新排列
- 如果首个字母和末尾字母不相同,那即是可以组成一个非回文字符串
- 例如,abba,可以生成 aabb,即非回文
答案
fun main() = repeat(readLine()!!.toInt()) {
val chars = readLine()!!.toCharArray().sortedArray()
println(if (chars.first() == chars.last()) -1 else String(chars))
}
// 输入:
// 2
// iiu
// eeee
// ----------
// 输出:
// iiu
// -1
今天的题目,大家学会了吗?
欢迎关注公众号:KnowHub 知识加油站
后续我们会持续更新有趣的题目,欢迎大家关注!
更多推荐

所有评论(0)