欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 力扣双指针-算法模版总结

力扣双指针-算法模版总结

2025/11/20 10:23:27 来源:https://blog.csdn.net/2203_75335776/article/details/144948485  浏览:    关键词:力扣双指针-算法模版总结

lc-15.三数之和 (时隔13天)

目前可通过,想法上无逻辑问题,一点细节小错误需注意即可

lc-283.移动零(时隔16天)

总结:观察案例直觉就是双指针遇零交换,两次实现都通过了,且思想与题解一致,但是时间复杂度较高,没有题解巧妙,代码实现的方式会影响到时间复杂度,需要想到一个巧妙的代码实现,才能使时间复杂度为O(n);

思路:一个指针从首位开始指向,如果遇到0停下,另一个指针则寻找不是0的,找到后二者进行交换即可,首位指针i走到头即可结束
分析:设置两个指针,其中一个指针可以用for循环i代表,另一个指针初始化一个变量即可。
寻找非零指针用for循环中的i代表则更好,条件结束时说明数组里面已经无非零元素了

class Solution {public void moveZeroes(int[] nums) {if(nums==null) {return;}//两个指针i和jint j = 0;for(int i=0;i<nums.length;i++) {//当前元素!=0,就把其交换到左边,等于0的交换到右边if(nums[i]!=0) {int tmp = nums[i];nums[i] = nums[j];nums[j++] = tmp;}}}
}	

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com