Files
2026-05-31 01:09:31 +10:00

39 lines
689 B
Go

package top100liked
import (
"fmt"
"testing"
)
// https://leetcode.cn/problems/move-zeroes/?envType=study-plan-v2&envId=top-100-liked
// func moveZeroes(nums []int) {
// for range nums {
// for i := 0; i < len(nums); i++ {
// if nums[i] == 0 {
// if i+1 < len(nums) && nums[i+1] != 0 {
// nums[i], nums[i+1] = nums[i+1], nums[i]
// }
// }
// }
// }
// }
func moveZeroes(nums []int) {
size := len(nums)
left, right := 0, 0
for right < size {
if nums[right] != 0 {
nums[left], nums[right] = nums[right], nums[left]
left++
}
right++
}
}
func TestS4(t *testing.T) {
input := []int{0, 1, 0, 3, 12}
moveZeroes(input)
fmt.Printf("%+v", input)
}