-
[LeetCode] 283. Move Zeroes / Swift프로그래밍/코딩테스트 2021. 6. 26. 20:29
[문제 보기]
더보기Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements.
Note that you must do this in-place without making a copy of the array.
Example 1:
Input: nums = [0,1,0,3,12] Output: [1,3,12,0,0]
Example 2:
Input: nums = [0] Output: [0]
Constraints:
- 1 <= nums.length <= 104
- -231 <= nums[i] <= 231 - 1
Follow up: Could you minimize the total number of operations done?
https://leetcode.com/problems/move-zeroes/
투포인터 기법을 이용했다.
class Solution { func moveZeroes(_ nums: inout [Int]) { var p = 0 var count = 0 for element in nums { if element == 0 { count += 1 } else { nums[p] = element p += 1 } } for i in (0..<count) { nums[nums.count - count + i] = 0 } } }
반응형'프로그래밍 > 코딩테스트' 카테고리의 다른 글
[LeetCode] 1047. Remove All Adjacent Duplicates In String / Swift (0) 2021.06.29 [LeetCode] 338. Counting Bits / Swift (0) 2021.06.26 [LeetCode] 234. Palindrome Linked List / Swift (0) 2021.06.26 [LeetCode] 226. Invert Binary Tree / Swift (0) 2021.06.26 [LeetCode] 206. Reverse Linked List / Swift (0) 2021.06.25