39 lines
689 B
Go
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)
|
|
}
|