描述
输入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; }