【剑指offer】面试题21:调整数组顺序使奇数位于偶数前面(Java)
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位于數組的前半部分,所有偶數位于數組的后半部分。
?
示例:
輸入:nums =?[1,2,3,4]
輸出:[1,3,2,4]?
注:[3,1,2,4] 也是正確的答案之一。
?
提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000
代碼:
class?Solution?{
????public?int[]?exchange(int[]?nums)?{
????????if(nums.length==0)
????????{
????????????return?nums;
????????}
????????int?j?=?nums.length-1;
????????for(int?i=0;i<nums.length;i++)
????????{
????????????if(i>=j)
????????????{
????????????????break;
????????????}
????????????while(nums[j]%2==0)
????????????{
????????????????if(i<j)
????????????????{
????????????????????j--;
????????????????}
????????????????else{
????????????????????return?nums;
????????????????}
????????????}
????????????if(nums[i]%2==0)
????????????{
????????????????int?t?=nums[i];
????????????????nums[i]?=?nums[j];
????????????????nums[j]?=?t;
????????????}
????????}
????????return?nums;
????}
}
總結
以上是生活随笔為你收集整理的【剑指offer】面试题21:调整数组顺序使奇数位于偶数前面(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划--Leetcode746
- 下一篇: linux系统安装显卡驱动卡顿,关于Ub