【LeetCode】按奇偶排序陣列
阿新 • • 發佈:2018-12-02
給定一個非負整數陣列 A
,返回一個由 A
的所有偶數元素組成的陣列,後面跟 A
的所有奇數元素。
你可以返回滿足此條件的任何陣列作為答案。
示例:
輸入:[3,1,2,4] 輸出:[2,4,3,1] 輸出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也會被接受。
提示:
1 <= A.length <= 5000
0 <= A[i] <= 5000
class Solution { public static int[] sortArrayByParity(int[] A) { int left=0; int right=A.length-1; while (left<right) { if (A[left]%2==1&&A[right]%2==0) { int temp=A[left]; A[left]=A[right]; A[right]=temp; left++; right--; } else if (A[left]%2==1&&A[right]%2==1) right--; else if (A[left]%2==0&&A[right]%2==0) left++; else { right--; left++; } } return A; } }
思路是雙指標,從陣列左邊找到一個奇數,再從陣列右邊找到一個偶數,兩數交換,知道兩個指標相遇。