2022-5-4 双指针
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
1 class Solution { 2 public void moveZeroes(int[] nums) { 3 int point=0,index=0; 4 while (point<nums.length){ 5 if (nums[point]!=0){ 6 nums[index]=nums[point]; 7 index++; 8 } 9 point++; 10 } 11 while (index<nums.length){ 12 nums[index]=0; 13 index++; 14 } 15 } 16 }
思路:先把非0的往前移动,后面再填充。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】