字符串逆序

简介: 字符串逆序

[编程题]字符逆序(来自牛客网)


题目:将一个字符串str的内容颠倒过来,并输出。

数据范围:1 ≤ len(str) ≤10000

输入格式 输入一个字符串,可以有空格

输出格式 输出逆序的字符串


示例1:

输入:I am a student

输出:tneduts a ma I


示例2:

输入:nowcoder

输出:redocwon


方案一:函数+数组

代码思路

1.创建一个数组a并初始化

2.把字符串输入到该数组a

3.求该数组的长度

4.函数实现字符逆序

  (1)用left 和 right 定义字符串的开始和末尾(' \0 '的前一个)

  (2)使用while循环,并创建一个暂时变量,用数组交换,并实现逐步输出

代码

void reverse_string(char* a,int len)
{
  char left = 0;
  char right = len - 1;
  while (left < right)
  {
    char temp = a[left];
    a[left] = a[right];
    a[right] = temp;
    left++;
    right--;
  }
}
 
int main()
{
  char a[10000] = { 0 };
  gets(a);
  int len = strlen(a);
  reverse_string(a, len);
  printf("%s\n", a);
  return 0;
}

方案二:指针实现

代码思路

1.创建一个字符数组a并初始化

2.输入字符串到该数组a

3.求字符串长度a

4.使用指针定义该字符串最左端和最右端,同上👆再利用while循环交换再输出

代码

int main()
{
  char a[10000] = { 0 };
  gets(a);
  int len = strlen(a);
  char* left = a;
  char* right = a + len - 1;
  while (left < right)
  {
    char* temp = *left;
    *left = *right;
    *right = temp;
    right--;
    left++;
  }
  printf("%s\n", a);
  return 0;
}

方案三:利用两个数组实现字符串的逆序(最简单)

代码

int main()
{
    char a[10] = { 0 };
    char b[10] = { 0 };
    gets(a);
    int len = strlen(a);
    int i = 0;
    for (i = 0; i <= (len - 1); i++)
    {
        b[i] = a[len - 1 - i];
    }
    printf("%s\n", b);
    return 0;
}

代码解释

目录
打赏
0
1
2
0
17
分享
相关文章
Maven之阿里云镜像仓库配置
方式一:全局配置可以添加阿里云的镜像到maven的setting.xml配置中,这样就不需要每次在pom中,添加镜像仓库的配置,在mirrors节点下面添加子节点: <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.
阿里云发布 Spring Boot 新脚手架,真香
本文,围绕 spring initializr 框架,以 start.spring.io 为例,全面的给大家介绍如何使用和扩展这个框架,以及背后的运行原理。
54788 1
阿里云发布 Spring Boot 新脚手架,真香
|
9月前
|
大学生期末C语言实验(学生成绩和鞍点)
大学生期末C语言实验(学生成绩和鞍点)
375 0
大学生期末C语言实验(学生成绩和鞍点)
【C++打怪之路Lv1】-- C++开篇(入门)
【C++打怪之路Lv1】-- C++开篇(入门)
96 0
|
9月前
|
【python从入门到精通】-- 第一战:安装python
【python从入门到精通】-- 第一战:安装python
100 0
|
9月前
|
【C++打怪之路Lv10】-- list
【C++打怪之路Lv10】-- list
61 1
|
9月前
|
【C++打怪之路Lv9】-- vector
【C++打怪之路Lv9】-- vector
94 1
数组逆序输出
数组逆序输出。
59 13
|
9月前
关于数组的两个应用
关于数组的两个应用
58 0
关于数组的两个应用
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问