题解 | #数组元素反转#

数组元素反转

https://www.nowcoder.com/practice/8c9793ae96974a9ebb153d90ef31d357

折半交换,根据下标之和
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);

    for (int i = 0; i < len; i++)
    {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++)
    {
        if (i == len - 1)
        {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    for (int i = 0; i < len / 2; ++i)
    {
        int tmp = arr[i];
        arr[i]  = arr[len - 1 - i];
        arr[len - 1 - i] = tmp;
    }

    cout << "[";
    for (int i = 0; i < len; i++)
    {
        if (i == len - 1)
        {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}

为 len-1 进行交换。
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务