描述

写一个递归算法来实现字符串的逆序存储,要求空间复杂度为O(1)。

输入

多组数据,每组数据有一行,为要求逆序存储的字符串。当输入字符串为“0”时,输入结束。

输出

对于每组数据输出一行,为逆序存储后的字符串。

输入样例 1

ABCDE
12345
0

输出样例 1

EDCBA
54321

思路:

首先要找递归的出口——什么时候到出口呢?那就是我们原来输入的字符串  到了最后一个字符的时候,那个时候是出口,那么如何找到出口呢?我采用的方法是,比较传入函数中的两个表示长度的参数,如果“目前的位置”和“总长度”一致,说明到了最后一位,该到出口了。

如果不是出口,就返回当前的字符串,并且now+1,表示该判断下一位了。

之后temp累加就可以了~

#include<iostream>
#include<string>
#include<string.h>
#include<vector>
#include<algorithm>
using namespace std;
char Reverse(char a,int now,int n)
{if (now == n)return a;//如果已经最后一个字符,返回它就可以了elsereturn Reverse(a, now + 1, n);//如果不是最后一个字符,返回now+1(下一个位置),第一个参数就是“此刻的字符”
}
int main()//n,n
{string s = "";while (cin >> s && s != "0"){string temp = "";//temp用来接收新的倒序字符串for (int i = 0; i < s.length(); i++)temp = Reverse(s[i], i, s.length()) + temp;cout << temp << endl;}return 0;
}

(如果实在过不了又时间紧急的话可以拿下面这个救救急,doge)

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{string s = "";while (cin >> s && s != "0"){reverse(s.begin(), s.end());cout << s << endl;}return 0;
}

2019递归实现字符串的逆序存储(C++)相关推荐

  1. C语言/关于字符串逆序存储

    关于字符串逆序存储问题,本文主要介绍了两种方法:1.递归 2.非递归 递归: 先利用my_strlen()函数求出所求字符串长度,字符串长度保存在变量len中(不含字符串'\0')(也可以直接使用库函 ...

  2. 通过迭代(非递归)及递归将单链表逆序

    通过迭代(非递归)及递归将单链表逆序 老生常谈的问题了,不过很多地方面试还是很喜欢问这个问题.实际工程中感觉用处不大,需要逆序的存储为什么要选择单链表呢?为什么不用list(in c++)或itera ...

  3. 基于顺序存储结构的图书信息表的逆序存储(C++)

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后将读入的图书信息逆序存储,逐行输出逆序存储后每本图书的信息. 输入 输入n+1行,第一行是图书数目 ...

  4. 练习:两数相加(链表逆序存储求和数字)

    2021年「博客之星」评选开始投票开启--我想要您投一票 我的CSDN主页 My Python 学习个人备忘录 我的博文推荐 两数相加    CSDN"每日一练"(Python)题 ...

  5. 汇编语言 用push指令将a段中的前8个字形数据,逆序存储到b段中

    题目要求 用push指令将a段中的前8个字形数据,逆序存储到b段中 执行过程 push之前 a段数据 (b段数据)栈空间↓ 不要问我为什么不全是0,我并不知道,只是找出了一些规律.详见我的前一篇博客 ...

  6. 汇编语言:编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储b段中

    题目介绍 程序如下,编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储b段中. assume cs:code,ds:a,ss:ba segmentdw 1,2,3,4,5,6,7 ...

  7. C++实现包含空格、标点、字符、数字的字符串的逆序输出,并且还可以实现一句语言中每个单词的倒序输出

    简介:本C++代码能够实现任意输入的字符的逆序输出,代码的后半部分可以实现一句英文语句的单词的倒序输出. #include <iostream> #include <string&g ...

  8. 逆序字符串 和 字符串的逆序输出 的区别~

    今天我们讲解字符串的逆序和逆序输出,并且通过一个综合题型来加深印象和练手! 超佳出品 文章目录 前言 一.逆序字符串,字符串的逆序输出是什么? 二.实例讲解 1.字符串的逆序输出 2.逆序字符串 总结 ...

  9. 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。

    输入一个字符串,对该字符串进行逆序,输出逆序后的字符串. 输入格式: 输入在一行中给出一个不超过80个字符长度的.以回车结束的非空字符串. 输出格式: 在一行中输出逆序后的字符串. 输入样例: Hel ...

最新文章

  1. np实现sigmoid_使用numpy实现一个深度学习框架
  2. java扑克牌抽牌_[java,2018-06-26] 扑克牌抽牌求和问题
  3. 华为笔记本软件商店_华为应用市场 PC 端体验:干净好用 - 华为
  4. LeetCode 1770. 执行乘法运算的最大分数(DP)
  5. Logistic回归小结
  6. box2dweb基础
  7. Opencv车牌号字符分割
  8. 【SQL注入16】SQL漏洞利用之读写文件
  9. 双边滤波(Bilateral Filtering)
  10. 动画三部曲--属性动画
  11. asp存入当前时间mysql_asp当前日期时间
  12. 关于大屏项目中分辨率和高宽比的总结
  13. sim7600ce 拨号上网测试_SIM7600CE TCP/IP连接与PPP拨号上网 4G上网
  14. d3dcompiler_47.dll缺失怎么修复?D3DCompiler_47.dll修复工具下载
  15. 开放式基金全景点评:净值全面攀升 关注老基金(ZZ)
  16. 【学习总结】企业信息化管理之数据管理发展与探索之路
  17. 常用笔记软件对于视频网站嵌入播放支持
  18. php面试题基础(一)
  19. 大数据时代数据处理技术及应用
  20. 质量基础设施一站式公共服务平台建设,NQI系统开发

热门文章

  1. java中socket类_Java中的Socket的用法
  2. 数据库数据类型、常见约束、系统结构的基本知识总结(SQL、DML、DQL、DCL、DTL)
  3. Docker版本介绍(5)
  4. 20171107校内模拟赛
  5. 国家集训队2011 happiness
  6. 对于整数数组类的算法的终极解决方案
  7. Eclipse中SVN标记,提交人,时间等版本信息消失
  8. LoadRunner error -27728
  9. mso-number-format
  10. localhost,127.0.0.1,本机IP,三者的区别