1 条题解

  • 0
    @ 2026-6-19 10:30:22

    📝 题目大意

    给定 NN 个字符串 S1S_1SNS_N,要求按输入顺序的逆序(即 SN,SN1,,S1S_N, S_{N-1}, \dots, S_1)输出这些字符串。

    💡 解题思路

    1. 题目分析N10N \leq 10,每个字符串长度 10\leq 10,数据规模极小,直接模拟即可,无需任何优化。
    2. 算法推导
      • 读入整数 NN,然后读入 NN 个字符串存入数组/vector s 中。
      • 从下标 N1N-1 开始向下遍历到 00,依次输出 s[i] 即可完成逆序输出。
    3. 边界与细节NN 最小为 11,此时逆序输出就是输出自身;字符串可包含数字和大小写字母,直接按字符串处理即可,无需特殊判断。

    ⏱️ 复杂度分析

    • 时间复杂度O(N)O(N),遍历数组两次(读入一次,输出一次)。
    • 空间复杂度O(N)O(N),存储 NN 个字符串。

    💻 标准代码 (C++)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    	int n;
    	cin >> n;
    	vector<string> s(n);
    	// 读入 N 个字符串
    	for(int i = 0; i < n; i++){
    		cin >> s[i];
    	}
    	// 从后往前输出,实现逆序
    	for(int i = n - 1; i >= 0; i--){
    		cout << s[i] << endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    663
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者