首页 > 试题广场 >

移动 0

[编程题]移动 0
  • 热度指数:3883 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个数组,请你实现将所有 0 移动到数组末尾并且不改变其他数字的相对顺序。

数据范围:数组长度满足 ,数组中的元素满足
示例1

输入

[1,2,0,3]

输出

[1,2,3,0]
示例2

输入

[1,2,3]

输出

[1,2,3]
示例3

输入

[0,0]

输出

[0,0]
头像 lee≤e
发表于 2022-04-18 14:50:30
#啊这啊这,直接遍历,遇到0 remove删除,后在列表尾append class Solution: def moveZeroes(self , nums: List[int]) -> List[int]: # write code here for 展开全文
头像 小白牛牛01
发表于 2022-06-26 23:06:58
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * 展开全文
头像 机灵的干饭人在思考
发表于 2023-06-11 17:39:22
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型vector 展开全文
头像 牛客82035003号
发表于 2022-04-09 20:56:03
一个工作指针负责遍历,一个数组指针负责赋值。 一边遍历一边把不是0的值复制保留, 遍历完后非零值已按原序保存, 就只需把剩下的空全部赋值为0即可。 int* moveZeroes(int* nums, int nums 展开全文
头像 万千少男的梦
发表于 2024-05-23 17:18:12
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型vector 展开全文
头像 爱唱歌的潜伏者在发呆
发表于 2024-02-26 12:10:16
class Solution { public: //双指针划分为三个区间 //[0,dest]非0元素,[dest+1,cur-1]0元素,[cur,n-1]待处理元素 vector<int> moveZeroes(vector<int>& 展开全文
头像 xsd123
发表于 2022-03-22 13:39:02
在原数组上修改 两个指针 first_0 , last_0 分别指向第一个0 和最后一个0 (连续区间) 非0值前移 :nums[first_0++] = nums[last_0++] 直到nums[last_0] !=0 给此时的 [first_0, last_0) 区间内赋0 ,重复上述操 展开全文
头像 苦行潜修者
发表于 2024-03-29 23:58:35
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num 展开全文
头像 君无颜
发表于 2022-02-03 22:16:22
方法一: 遇到一个0,就删掉,并在列表末尾追加一个0 python实现 class Solution: def moveZeroes(self , nums: List[int]) -> List[int]: # write code here i=0 展开全文
头像 倔强小头
发表于 2021-11-26 19:49:34
import java.util.*; public class Solution { public static int[] moveZeroes (int[] nums) { List list=new ArrayList<>(); for (int i = 0; i < nu 展开全文

问题信息

难度:
33条回答 1425浏览

热门推荐

通过挑战的用户

查看代码