输入n个字符串,将其中是回文串的字符串,按照长度从小到大的顺序输出,如果长度相同,则按照输入的顺序输出即可。 回文的含义是:正着看和倒着看相同,如abba和yyxyy。 输入 第一行首先是一个整数n(n<50),表示有n个字符串(每个字符串的都长度小于100)。接下来有n行,每行输入一个字符串。 输出 按照长度从小到大的顺序输出其中的回文串,如果长度相同,则按照输入的顺序输出。
时间: 2024-02-27 13:56:22 浏览: 54
python 回文子串,给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。
5星 · 资源好评率100%
好的,这是一个字符串处理的问题。可以采用以下步骤解决:
1. 遍历所有字符串,判断是否为回文串。
2. 将是回文串的字符串存储到一个列表中,同时记录每个回文串的长度和原本的输入顺序。
3. 对列表中的回文串按照长度和输入顺序进行排序。
4. 输出排序后的回文串。
以下是示例代码实现:
```python
n = int(input())
palindromes = []
for i in range(n):
s = input().strip()
if s == s[::-1]:
palindromes.append((s, len(s), i)) # 将回文串存储到列表中,并记录长度和输入顺序
palindromes.sort(key=lambda x: (x[1], x[2])) # 按照长度和输入顺序排序
for p in palindromes:
print(p[0])
```
输入样例:
```
5
ab
aba
abcba
hello
wow
```
输出样例:
```
ab
aba
abcba
wow
```
阅读全文