描述
输入n个字符串,对这n个字符串(按反转后字典序)排序并输出。例如两个字符串为“aab”, “cba”,则“cba”应该排在“aab”之前,因为“cba”反转后为“abc”,”aab”反转后为”baa”。
输入
第一行为一个整数n,表示字符串的数目。(0<n<50)
接下来是n行,每行一个字符串,其中字符串仅由小写字母组成,每个字符串长度不超过100,所有字符串均不相同。
输出
排完序以后的字符串,每个字符串占一行。
样例输入1
6 cpp class object stl acm bjfu
样例输出1
stl acm cpp class object bjfu
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string arr[55];
int main()
{
string a;
int b;
while(cin >> b)
{
for (int i = 0; i < b; i++) {
cin >> a;
reverse(a.begin(), a.end());
arr[i] = a;
}
sort(arr, arr + b);
for (int i = 0; i < b; i++)
{
reverse(arr[i].begin(), arr[i].end());
cout << arr[i] << endl;
}
}
return 0;
}