找规律,对于 1 2 3 4 的结果,是下面这样子排布的,因此反着遍历,从4开始, 按下图箭头遍历
#include<iostream> #include<climits> #include<vector> #include<algorithm> #include<numeric> #include <string> using namespace std; int main(){ int n; cin>>n; vector<int> nums(n); for(int i=0;i<n;i++){ cin>>nums[i]; } vector<int> res(n); int l=0,r=n-1; bool flagL=true; for(int i=n-1;i>=0;i--){ if(flagL){ res[l++]=nums[i]; flagL=false; }else{ res[r--]=nums[i]; flagL=true; } } for(int i=0;i<n;i++){ cout<<res[i]<<' '; } system("pause"); return 0; }