public int[] sortEvenOdd(int[] nums) {
int n=nums.length;
List<Integer> a=new ArrayList<>();
List<Integer> b=new ArrayList<>();
//将nums按下标分开
for (int i = 0; i < n; i++) {
if(i%2==0)
a.add(nums[i]);
else
b.add(nums[i]);
}
a.sort((o1, o2) -> o1-o2);//偶下标顺序
b.sort(((o1, o2) -> o2-o1));//奇下标倒序
int[] ans=new int[n];
//按原下标插入
for (int i = 0; i < a.size(); i++) {
ans[i*2]=a.get(i);
}
for (int i = 0; i < b.size(); i++) {
ans[i*2+1]=b.get(i);
}
return ans;
}
2022.2.8-----leetcode.2164
最新推荐文章于 2024-07-20 22:34:59 发布