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.
Input: nums = [0,1,0,3,12]
Output: [1,3,12,0,0]
Example 2:
Input: nums = [0]
Output: [0]
const moveZeroes = function(nums) {
let x = 0;
for(i = 0; i< nums.length; i++) {
if (nums[x] === 0 && nums[i] !==0) {
nums[x] = nums[i]
nums[i] = 0
x++;
} else if (nums[x] !== 0){
x++;
}
}
return nums;
};
100 ms, faster than 75.40% of JavaScript online submissions for Move Zeroes.
43.8 MB, less than 22.11% of JavaScript online submissions for Move Zeroes.
leetCode discuss - 풀이와 설명 업로드
직관적으로 이해할 수 있는 JS 풀이가 없는 것 같아서, 그리고 개발자를 꿈꾸는 코린이로서...! 뭔가 오픈소스에 함께 기여하는 그런 태도를 가지고 싶으니까...! Discuss에 설명과 함께 풀이를 올려두었다.
이 문제를 처음 푸는데 Day 3. two pointers에 참여하는 만큼 꼭 two pointers로 풀어 이 방식을 익히고 싶고..JS풀이는 잘 모르겠는 또다른 코린이가 있다며너 조금이나마 도움이 됐으면 좋겠다!