移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
1 | input = [0,1,0,3,12] |
双指针
一个指针不动,遍历另一个指针,从第一位开始遍历,如果这个数字不为0,则往前放,跟i指针的交换位置,并且i指针往前移1位
为0的话,i指针保持不动
i指针是从前开始一点点加,碰到不为0的就放到i这个位置,并把i往后移,最终不为0的都会放到i上,则后面的都是0
1 | func moveZeroes(nums []int) []int { |
python一行解法
匿名函数排序:lambda x:x==0,匿名函数,x是否==0,是的话,返回true,不是的话返回false
sort排序:key为false,ture, false在true前面,所以,不等于0的就排到了前面
1 | class Solution: |