(LeetCode) 283. Move Zeroes
Move Zeroes
- Explore : Interview > Top Interveiw Questions > Easy Collection
- 분류 : Array
- 난이도 : Easy
Problem
Given an integer array nums
, move all 0
‘s to the end of it while maintaining the relative order of the non-zero elements.
Example 1
1 2
| Input: nums = [0,1,0,3,12] Output: [1,3,12,0,0]
|
Example 2
1 2
| Input: nums = [0] Output: [0]
|
Constraints
1 <= nums.length <= 10^4
-2^31 <= nums[i] <= 2^31 - 1
Solution
Exapnder
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { fun moveZeroes(nums: IntArray): Unit { var index = 0 for (i in nums.indices) { if (nums[i] != 0) { nums[index++] = nums[i] } }
while (index < nums.size) { nums[index++] = 0 } } }
|
Point of Thinking
nums
안에서 끝내야하므로 순회를 숙명
- 0을 제외한 나머지 숫자들의 순서는 유지해주어야 하므로, sort 및 compareBy 등의 고민 없이 단순하게 풀이.