牛客网_华为机试_012_字符串翻转

来源:互联网 发布:linux查看线程占用cpu 编辑:程序博客网 时间:2024/06/03 20:24

题目描述

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:


输入描述:

输入N个字符



输出描述:

输出该字符串反转后的字符串

示例1

输入

abcd

输出

dcba

题目地址:https://www.nowcoder.com/practice/e45e078701ab4e4cb49393ae30f1bb04?tpId=37&tqId=21235&tPage=1&rp=&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking

思路一:STL,string,反向迭代器

#include <string>#include <iostream>using namespace std;int main(){    string str;    while(getline(cin, str))    {        for(auto rit = str.crbegin(); rit != str.crend(); ++rit)            cout << *rit;        cout << endl;    }    return 0;}


思路二:c风格字符串

#include <stdio.h>#include <string.h>int main(){char str[1024];while (scanf("%s", str) != EOF){int len = strlen(str);for (int i = len - 1; i >= 0; i--){printf("%c", str[i]);}printf("\n");}return 0;}

思路三:c风格字符串逆置,3ms:

#include <stdio.h>#include <string.h>int main(){    char str[1024];    while(scanf("%s", str) != EOF){        int len = strlen(str);        for(int i = 0; i < len/2;i++){            char c = str[i];            str[i] = str[len-i-1];            str[len-i-1] = c;        }        printf("%s\n", str);    }    return 0;}