免费个人网站在线制作,上海网站优化排名,做网站如何不被忽悠,辽宁智能网站建设推荐题目#xff1a;
. - 力扣#xff08;LeetCode#xff09;
给定一个数组 nums#xff0c;编写一个函数将所有 0 移动到数组的末尾#xff0c;同时保持非零元素的相对顺序。
请注意 #xff0c;必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums [0…题目
. - 力扣LeetCode
给定一个数组 nums编写一个函数将所有 0 移动到数组的末尾同时保持非零元素的相对顺序。
请注意 必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums [0,1,0,3,12]
输出: [1,3,12,0,0]
示例 2:
输入: nums [0]
输出: [0]
代码
这道题是数组划分两部分一是非零区间二是全0区间的类型采用双指针即可
class Solution {public void moveZeroes(int[] nums) {int cur0;int dest-1;while(curnums.length){if(nums[cur]0){cur;}else{dest;int tmpnums[dest];nums[dest]nums[cur];nums[cur]tmp;cur;} }}
}// 另一种写法
//for(int cur0,dest-1;curnums.length;cur){
// if(nums[cur]!0){
// dest;
// int tmpnums[cur];
// nums[cur]nums[dest];
// nums[nums]tmp;
// }
// }