柳州做网站有kv,智慧团建网页电脑版登录网站,建设销售网站,懒懒淘客怎么做自己的网站移动零 初版(bug)
func moveZeroes(nums []int) {if len(nums) 1{return}// 设置两个指针fp1,fp2分别指向第一个元素和第二个元素#xff0c;// 两种情况// 假如指针fp1指向元素为零// 1) *fp2!0#xff0c;则交换。// 2) *fp20#xff0c;则fp2后移,直至*fp2!0,与fp1交换…移动零 初版(bug)
func moveZeroes(nums []int) {if len(nums) 1{return}// 设置两个指针fp1,fp2分别指向第一个元素和第二个元素// 两种情况// 假如指针fp1指向元素为零// 1) *fp2!0则交换。// 2) *fp20则fp2后移,直至*fp2!0,与fp1交换// 假如指针fp1指向元素为不为零// 1) *fp20,则fp1与fp2后移变成第一种情况// 2) *fp2!0,fp1与fp2后移...temp : 0fp1, fp2 : 0, 1for _, _ range nums{if fp2 len(nums){break}if nums[fp1] 0{if nums[fp2] ! 0{temp nums[fp1]nums[fp1] nums[fp2]nums[fp2] tempfp1fp2continue}else{fp2temp nums[fp1]nums[fp1] nums[fp2]nums[fp2] tempfp1continue} }else{fp1fp2continue}}
} 可读性
func moveZeroes(nums []int) {if len(nums) 1 {return}fp1, fp2 : 0, 1for fp2 len(nums) {if nums[fp1] ! 0 {fp1fp2continue}if nums[fp2] ! 0 {nums[fp1], nums[fp2] nums[fp2], nums[fp1]fp1}fp2}
}