本文主要是介绍算法练习:双指针2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.移动零:
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
思路:1.设置两个指针
![](/images/baidian.png)
2.右指针进行遍历,若为0则跳过,左右指针都右移,若不为0,则将左指针的值改为右指针的值。
![](/images/baidian.png)
![](/images/baidian.png)
![](/images/baidian.png)
代码:
2.两数之和:
给定一个已按照 升序排列 的整数数组 numbers
,请你从数组中找出两个数满足相加之和等于目标数 target
。
思路:两个指针同时遍历,判断相加是否为target
代码:
![](/images/baidian.png)
3.反转字符串:
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[]
的形式给出
思路:看注释
代码:![](/images/baidian.png)
4.反转字符串中的单词:
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
思路:看注释
代码:![](/images/baidian.png)
这篇关于算法练习:双指针2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!