算法打卡day4-字符串反转

108 阅读1分钟

题目描述

接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

题目来源

题目来源

输入描述

输入一行,为一个只包含小写字母的字符串。

输出描述:

输入一行,为一个只包含小写字母的字符串。

输入:
abcd
输出:
dcba

思路

将字符串存储在str数组之中,倒序输出数组即可。

具体实现

#include <stdio.h>
#include <string.h>
int main() {
    int i, j;
    char str[1000] = {0};
    gets(str);
    for (i = 0; i < strlen(str); i++)
        if ((int)str[i] < 97 || (int)str[i] > 122)
            return -1;
    for (j = strlen(str) - 1; j >= 0; j--)
        printf("%c", str[j]);
    return 0;
}

时间复杂度

需遍历整个数组,时间复杂度O(n)

小结

解法较简单,打卡后再参考别人的博客学习一下。