字符串逆序

简介: 字符串逆序

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


题目:将一个字符串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;
}

代码解释

目录
相关文章
|
5月前
|
前端开发
前端开发 之 9个文本标题特效【附完整源码】
本篇文章内容展示了文本流光动画、文本滚动动画、文本擦除显现动画等众多作用于文本上的炫酷特效,并给出了完整代码及注释
445 5
|
5月前
|
人工智能 弹性计算 监控
龙虾AI怎么养?OpenClaw一键部署,两步解锁专属龙虾AI助理!
2026年爆火的开源AI智能体OpenClaw(昵称“龙虾”),主打“能动手做事”,支持文件管理、浏览器自动化、代码编写、定时任务等本地化操作。本文详解阿里云一键部署攻略:两步完成安装配置,安全快捷接入主流IM,让每位用户轻松拥有专属AI助理!
1765 6
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
PPO 应用 —— 大模型偏好优化的核心场景与落地思路
本文详解PPO算法在大模型RLHF落地中的核心应用:聚焦对话风格、客服话术、内容生成、安全合规、垂直领域及多模态六大场景,强调“偏好定制化”价值。全程无代码,提供4步落地法与3大实操要点,助力企业高效实现大模型优化。(239字)
|
7月前
|
传感器 安全 机器人
2026年酒店场景智能化必备设备深度解析
当前酒店业面临人力失衡与服务升级双重挑战,智能化成为破局关键。通过部署智能机器人、无人配送、智能门锁、清洁设备及能耗管理系统,实现从客房到公区的全场景数字化闭环。2026年,AI与物联网深度融合,推动酒店向高效、安全、个性化与绿色运营转型,全面提升人效与住客体验。(239字)
|
Java 编译器 Maven
Error:java: Compilation failed: internal java compiler error 解决办法
Error:java: Compilation failed: internal java compiler error 解决办法
1629 0
Error:java: Compilation failed: internal java compiler error 解决办法
|
弹性计算 运维 安全
无需注册、零广告!开源免费的运维面板Websoft9如何提升云端管理效率?
本文对比分析了包括Websoft9在内的五款无广告、免注册的开源运维面板,探讨它们在阿里云ECS等场景下的最佳实践。文章详细解析了各工具的功能特点、部署方式及安全加固方法,并通过实际案例展示了其在跨境电商站群管理和物联网数据中台等场景的应用价值,为开发者提供了一份全面的选型指南。
569 3
|
存储 网络协议 Windows
AD域备份和恢复工具
RecoveryManager Plus 是一款强大的Active Directory备份和恢复工具,弥补了Microsoft本地AD功能的不足。它不仅支持对象级和属性级的备份与还原,还能备份架构属性、组成员信息和Exchange属性等关键元素。通过简单的鼠标点击,即可恢复已删除的对象或回滚整个AD到先前状态。该工具还提供定期完整备份、增量备份、备份保留策略等功能,确保AD环境的安全性和可恢复性。此外,它支持免重启恢复,适用于多种Windows服务器版本,是保护AD环境的理想选择。
546 5
|
存储 Windows
如何删除DMP文件
如何删除DMP文件
3357 12
若依修改---白名单怎样添加,怎样在初始化页面初始为自己的页面
若依修改---白名单怎样添加,怎样在初始化页面初始为自己的页面
若依修改---白名单怎样添加,怎样在初始化页面初始为自己的页面
|
JSON 算法 安全
Web安全-JWT认证机制安全性浅析
Web安全-JWT认证机制安全性浅析
585 3