文章目录
一、力扣344. 反转字符串

(一)时间、空间复杂度都为O(N)
思路:我们先不管题目要求,用一个额外数组来进行反转
代码如下:
class Solution
{
public:
void reverseString(vector<char>& s)
{
int n=s.size();
vector<char> vec(n,'0');
int j=0;
for(int i=s.size()-1;i>=0;i--)
{
vec[j++]=s[i];
}
for(int i=0;i<s.size();i++)
{
s[i]=vec[i];
}
}
};
(二)原地反转
思路:按照题目要求不能使用额外的空间,只能在原地修改
代码如下:
class Solution
{

本文整理了力扣344题与541题及剑指Offer 58-II的字符串反转问题。针对每个题目,详细介绍了不同解法,包括时间、空间复杂度为O(N)的反转、原地反转、模拟子串反转以及通过STL和三次反转等策略。所有解决方案均提供了代码实现。
最低0.47元/天 解锁文章
268

被折叠的 条评论
为什么被折叠?



