【牛客网】字符串反转

题目描述

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。
输入描述: 输入N个字符
输出描述: 输出该字符串反转后的字符串

示例

输入 abcd
输出 dcba

解题思路

本题很简单,我提供两种解题思路

  1. 只要从中间隔开,交换字符串的首尾字符即可。
    当前的首尾字符可通过s[i]s[s.size()-1-i] 确定。
  2. 直接用reverse()函数即可得到翻转

完整代码

//首尾依次交换
#include 
#include 
using namespace std;

string Reverse(string s)
{
	for (int i = 0; i < s.size() / 2; i++)
		swap(s[i], s[s.size() - 1 - i]);
	return s;
}

int main()
{
	string s;
	while (cin >> s)
		cout << Reverse(s) << endl;
	system("pause");
	return 0;
}
//应用reverse()函数
#include 
#include 
#include 
using namespace std;

int main()
{
	string s;
	while (cin >> s)
	{
		reverse(s.begin(), s.end());
		cout << s << endl;
	}
	system("pause");
	return 0;
}

原题链接

https://www.nowcoder.com/practice/e45e078701ab4e4cb49393ae30f1bb04?tpId=37&&tqId=21235&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking

这道题很简单,就不多赘述了。相同类型的题之前也有一道:倒置字符串 ——因为在这道题中,字符之间有空格,所以需要逆转两次得到正确的答案。有兴趣的可以参考【牛客网】倒置字符串

记得关注博主哟~

你可能感兴趣的:(练习题)