网站设计品,软件技术属于什么专业大类,免费推广软件排行榜,开发专业网站题目传送门 这道题可以归类为 数组划分/数组分块 。 题目制定了一个规则#xff0c;我们可以在这个规则下#xff0c;将数组划分为若干个区间。 这道题让我们把所有非零元素移动到左边。所有零元素移动到右边。 将数组划分为#xff1a; 左区间非0#xff1b; 右区间…
题目传送门 这道题可以归类为 数组划分/数组分块 。 题目制定了一个规则我们可以在这个规则下将数组划分为若干个区间。 这道题让我们把所有非零元素移动到左边。所有零元素移动到右边。 将数组划分为 左区间非0 右区间全0 解决这类我们使用双指针算法。 class Solution {public void moveZeroes(int[] nums) {//定义left和right双指针。并在rightn的情况下循环。//如果nums[right] ! 0则交换left和right指向的元素。//若等于零则right。//保证left之前的数据非零。left指向第一个零。//right之后的数据待处理。int left 0,right 0;int n nums.length;while(right n){if(nums[right] ! 0){int temp nums[left];nums[left] nums[right];nums[right] temp;left;}right;}}
}