算法训练营Day4
三数之和。排序加双指针的办法,此题重点是如何进行去重。需要考虑到很多方面。
https://leetcode.cn/problems/3sum/description/
四数之和。三数之和的变式,也是用排序加双指针的思想。
https://leetcode.cn/problems/4sum/description/
反转字符串。考察reverse函数的实现,双指针的运用。在面试现场中,如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。
https://leetcode.cn/problems/reverse-string/description/
反转字符串2。当数据需要整段整段去分析的时候,可以直接让for循环中i整段去跳跃,当需要固定规律一段一段去处理字符串的时候,要想想在for循环的表达式上做做文章。
https://leetcode.cn/problems/reverse-string-ii/description/
替换数字。学会了string的动态构建可以使用 += 或 push_back 逐步扩展 newStr,避免越界访问。字符串的拼接。还有一种思路是不使用额外的辅助空间,先给字符串扩容,使用双指针,一个指向旧字符串末尾,一个指向新字符串末尾,从后往前进行填充,避免了从前向后填充元素时,每次添加元素都要将添加元素之后的所有元素向后移动的问题。很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。后序处理!
https://kamacoder.com/problempage.php?pid=1064

浙公网安备 33010602011771号