反转字符串
方法一:
class Solution {
public:
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
string solve(string str) {
// write code here
int len = str.size();
char tmp;
for(int i = 0; i < len / 2; i++){
tmp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = tmp;
}
return str;
}
};
方法二:
时间复杂度O(n),额外空间复杂度O(n);
class Solution {
public:
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
string solve(string str) {
// write code here
string s = "";
for(int i = str.size() - 1; i >=0; i--)
s += str[i];
return s;
}
};
本文介绍了两种C++实现字符串反转的方法。方法一是通过交换首尾字符实现,时间复杂度为O(1),空间复杂度为O(1);方法二是使用辅助字符串,从后向前遍历原字符串并构建新字符串,时间复杂度为O(n),空间复杂度为O(n)。这两种方法都是常见的字符串操作技巧,在编程面试和实践中经常用到。
8091

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



