劍指 Offer 21. 調整陣列順序使奇數位於偶數前面
題目
輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有奇數位於陣列的前半部分,所有偶數位於陣列的後半部分。
示例
輸入: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) {
int left=0;
int right=nums.length-1;
while(left<right){
if(nums[left]%2!=0){
left++;continue;
}
if(nums[right]%2==0){
right--;continue;
}
if(nums[left]%2==0&&nums[right]%2!=0){
int a=nums[left];
nums[left]=nums[right];
nums[right]=a;
}
}
return nums;
}
}
相關文章
- 【劍指Offer】調整陣列順序使奇數位於偶數前面陣列
- 劍指offer面試題14 調整陣列順序使奇數位於偶數前面面試題陣列
- 【劍指Offer學習】【面試題14 :調整陣列順序使奇數位於偶數前面】面試題陣列
- JZ-013-調整陣列順序使奇數位於偶數前面陣列
- 面試題21:調整陣列順序奇數位於偶數前面面試題陣列
- LeetCode題解(Offer21):調整陣列順序使奇數位於偶數前面(Python)LeetCode陣列Python
- [每日一題] 第十一題:調整陣列順序使奇數位於偶數前面每日一題陣列
- 調整陣列順序使奇數位於偶數前面,偶數和偶數之間的相對位置不變陣列
- 【C語言】調整陣列使奇數全部都位於偶數前面。C語言陣列
- 【劍指offer】調整陣列順序陣列
- 演算法學習記錄十一(C++)--->調整陣列順序使奇數前偶數後演算法C++陣列
- 陣列進行奇數和偶數操作 把奇數放在陣列前面 偶數放在陣列後面陣列
- 第三章:查詢與排序(下)------------- 3.8題解_調整陣列順序-奇數在左偶數在右排序陣列
- 面試演算法題(4)--將一個整數陣列中的所有奇數放到偶數前面面試演算法陣列
- 劍指offer之順序列印陣列陣列
- 【劍指offer】字串轉整數字串
- 【劍指offer】把陣列排成最小的數陣列
- 劍指offer:旋轉陣列的最小數字陣列
- 劍指offer 旋轉陣列的最小數字陣列
- 【劍指offer】數字在排序陣列中出現的次數排序陣列
- 劍指Offer--陣列中重複的數字陣列
- 劍指Offer-34-把陣列排成最小的數陣列
- 劍指offer——把陣列排成最小的數C++陣列C++
- 劍指offer-轉陣列的最小數字-php陣列PHP
- 《劍指offer》:[51]陣列中的重複數字陣列
- 《劍指offer》:[38]數字在排序陣列中出現的次數排序陣列
- 【劍指offer】7.旋轉陣列的最小數字陣列
- 劍指 Offer 11. 旋轉陣列的最小數字陣列
- 【劍指 Offer】11. 旋轉陣列的最小數字陣列
- 《劍指offer》:[41]陣列中和為S的兩個數陣列
- 劍指offer面試題11 數值的整數次方面試題
- 《劍指offer》:[49]把字串轉化成整數字串
- 劍指 offer(1) -- 陣列篇陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- 劍指 Offer 56 - I. 陣列中數字出現的次數陣列
- 調整陣列元素順序演算法陣列演算法