算法学习
BM91 反转字符串
https://www.nowcoder.com/practice/c3a6afee325e472386a1c4eb1ef987f3?tpId=295&sfm=html&channel=nowcoder
题目描述:写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
思路:
双指针交换
1.准备两个指针,从字符串一首一尾同时出发;
2.每次交换二者指向的字符,直到二者相遇,这样刚好可以将字符串首尾交换,完成反转;
代码实现:
#include <iostream>
using namespace std;
class Solution {
public:
string Solve(string str) {
int left = 0; //左指针
int right = str.length() - 1; //右指针
while (left < right) //两个指针往中间靠
{
swap(str[left],str[right]); //交换字符
left++;
right--;
}
return str;
}
};
这篇博客介绍了如何使用双指针交换的方法来反转一个字符串。通过设置两个指针,一个从字符串开始,另一个从末尾开始,交换它们所指向的字符并逐步向中间移动,最终达到反转字符串的目的。代码实现中使用了C++,并提供了具体的解决方案。
715

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



