top1编程
← 返回题目
题解

【入门】输入的这些数是否对称

1 条题解

  • 0
    @ 2026-7-29 0:17:33
    #include <iostream>
    #include <vector>
    using namespace std;
    
    int main() {
        int n;
        // 读取整数n
        cin >> n;
        
        vector<int> nums(n);
        // 读取n个整数存入数组
        for (int i = 0; i < n; ++i) {
            cin >> nums[i];
        }
        
        // 标记是否对称,初始为true
        bool isSymmetric = true;
        // 只需遍历前半部分即可(奇数长度时中间数无需比较)
        for (int i = 0; i < n / 2; ++i) {
            // 比较第i个和倒数第i+1个元素(索引为n-1-i)
            if (nums[i] != nums[n - 1 - i]) {
                isSymmetric = false;
                break; // 发现不对称,直接退出循环
            }
        }
        
        // 输出结果
        if (isSymmetric) {
            cout << "YES" << endl;
        } else {
            cout << "NO" << endl;
        }
        
        return 0;
    }
    
    • 1