반응형
https://leetcode.com/problems/sort-array-by-parity/
투포인터를 이용하여 풀었습니다.
짝수라면 왼쪽 포인터를 오른쪽으로 옮겨줍니다.
홀수라면 오른쪽 포인터를 왼쪽으로 옮겨줍니다.
왼쪽 포인터가 홀수를, 오른쪽 포인터가 짝수를 가리킬 때, 두 수를 스왑해줍니다.
class Solution {
public:
vector<int> sortArrayByParity(vector<int>& nums) {
int l = 0, r = nums.size() - 1;
while(1) {
while(l <= r && nums[l] % 2 == 0) l++;
while(l <= r && nums[r] % 2 == 1) r--;
if(l >= r) break;
swap(nums[l++], nums[r--]);
}
return nums;
}
};
반응형
'Algorithm' 카테고리의 다른 글
LeetCode 1209 : Remove All Adjacent Duplicates in String II (0) | 2022.05.06 |
---|---|
LeetCode 225 : Implement Stack using Queues (0) | 2022.05.05 |
LeetCode 844 : Backspace String Compare (0) | 2022.05.01 |
LeetCode 399 : Evaluate Division (0) | 2022.04.30 |
LeetCode 785 : Is Graph Bipartite? (0) | 2022.04.29 |