leetcode 922. 按奇偶排序数组 II(双指针)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 922. 按奇偶排序数组 II(双指针)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個非負整數數組 A, A 中一半整數是奇數,一半整數是偶數。
對數組進行排序,以便當 A[i] 為奇數時,i 也是奇數;當 A[i] 為偶數時, i 也是偶數。
你可以返回任何滿足上述條件的數組作為答案。
示例:
輸入:[4,2,5,7]
輸出:[4,5,2,7]
解釋:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也會被接受。
代碼
class Solution {public int[] sortArrayByParityII(int[] A) {int n=A.length,odd=1,even=0;//奇數位置指針,偶數位置指針while (odd<n&&even<n){while (odd<n&&A[odd]%2==1) odd+=2;//找出裝著偶數的奇數位置while (even<n&&A[even]%2==0) even+=2;//找出裝著奇數的偶數位置if(odd>=n||even>=n) break;int temp=A[odd];//交換兩個位置的元素A[odd]=A[even];A[even]=temp;odd+=2;//前進到下一個位置even+=2;}return A;} }總結
以上是生活随笔為你收集整理的leetcode 922. 按奇偶排序数组 II(双指针)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己的孩子坠楼什么意思
- 下一篇: leetcode 328. 奇偶链表(双