leecode 移动零

简介: 给定数组`nums`,编写函数将所有0移动至数组末尾,同时保持非零元素的相对顺序。要求在不复制数组的情况下原地操作。示例:输入`[0,1,0,3,12]`,输出`[1,3,12,0,0]`。代码实现使用双循环遍历数组,找到0并交换位置。

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
示例 2:

输入: nums = [0]
输出: [0]

提示:

1 <= nums.length <= 104
-231 <= nums[i] <= 231 - 1

class Solution {
    public void moveZeroes(int[] nums) {
        for(int i=0;i<nums.length-1;i++)
         if(nums[i]==0)
         {
            for(int j=i+1;j<nums.length;j++)
            {
                if(nums[j]!=0)
                {
                    nums[i]=nums[j];
                    nums[j]=0;
                    break;
                }
            }
         }
    }
}
相关文章
|
1月前
leecode刷题 相同的树
给定两棵二叉树的根节点 p 和 q,编写一个函数来判断这两棵树是否相同。如果两棵树在结构上相同且对应节点的值相等,则认为它们是相同的。示例包括完全相同的树、结构不同或节点值不同的树。节点数在 [0, 100] 范围内,节点值在 [-10^4, 10^4] 范围内。
32 11
|
8月前
Leecode之反转链表
Leecode之反转链表
|
8月前
|
算法 测试技术 C语言
leecode算法题之数组
leecode算法题之数组
|
8月前
面试题05-替换空格(LeeCode)
面试题05-替换空格(LeeCode)
41 0
Leecode 5. 最长回文子串
Leecode 5. 最长回文子串
52 1
Leecode365. 水壶问题
Leecode365. 水壶问题
58 0
|
存储
Leecode 面试题 17.16. 按摩师
Leecode 面试题 17.16. 按摩师
72 0
|
机器学习/深度学习
Leecode面试题64
Leecode面试题64
71 0
Leecode 18. 四数之和
Leecode 18. 四数之和
61 0
Leecode 169. 多数元素
Leecode 169. 多数元素
46 0