class Solution {
public:
vector<int> constructArray(int n, int k) {
int left = 1, right = n;
vector<int> ans(n);
for(int i = 0; i < k; ++i) {
if(i % 2 == 1) {
ans[i] = right--; //奇数位放大数
}
else {
ans[i] = left++; //偶数位放小数
}
}
for(int i = k; i < n; ++i) {
if(k % 2 == 0)
ans[i] = right--; //如果是偶数个的话,前k个数已经有k - 1种了,第k个是大数,所以倒序放置
else
ans[i] = left++; //如果是奇数个的话,第k个数已经有k - 1种了,第k个是小数,所以正序放置
}
return ans;
}
};