LeetCode 283 移动零
点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中)
生活中的算法
你有没有整理过房间?常常会发现一些要丢掉的东西,但又不想立刻处理。这时候,我们通常会先把这些东西推到角落,把有用的东西集中在一起。等整理完后,再统一处理角落里的那些要丢弃的物品。
这就很像我们今天要讲的"移动零"问题:把数组中的零移到末尾,同时保持其他元素的相对顺序不变。就像整理房间时,我们把不要的东西(零)移到角落,同时保持其他物品(非零元素)的摆放顺序不变。
问题描述
LeetCode第283题"移动零"是这样描述的:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。要求必须在原数组上操作,不能使用额外的数组空间。
比如,输入:nums = [0,1,0,3,12],处理后应该得到:[1,3,12,0,0]。