畔游网站建设,wordpress广告,solaris wordpress主题,wordpress添加工具栏题目链接
移动零
题目描述 注意点
将所有 0 移动到数组的末尾#xff0c;同时保持非零元素的相对顺序必须在不复制数组的情况下原地对数组进行操作
解答思路
采用双指针的思路#xff0c;左指针指向已移动零的数组的尾部#xff0c;右指针指向为移动零的数组的头部同时保持非零元素的相对顺序必须在不复制数组的情况下原地对数组进行操作
解答思路
采用双指针的思路左指针指向已移动零的数组的尾部右指针指向为移动零的数组的头部当右指针指向了一个非零元素则需要将左右指针对应的元素进行交换将0移动到后方
代码
class Solution {public void moveZeroes(int[] nums) {int leftZero 0;for (int i 0; i nums.length; i) {if (nums[i] ! 0) {swap(nums, leftZero, i);leftZero;}}}public void swap(int[] nums, int left, int right) {int tmp nums[left];nums[left] nums[right];nums[right] tmp;}
}关键点
双指针的思想