C++大学教程(第九版)7.28 回文(递归和非递归实现)

文章目录

  • 题目
  • 代码
  • 运行截图

题目

(回文)回文是一种字符串,正读和反读该字符都会得到同样的结果。回文的例子包括“radar”和able was ierei saw elba”等。请编写一个递归函数testPalindrome,如果一个字符串是回文,则返回true;否则返回false。请注意,像array对象一样,方括号运算符([ ])可用来选代遍历一个字符串中的所有字符。

代码

#include <iostream>
#include <string>using namespace std;bool testPalindrome(string, int);int main()
{string str;cout << "请输入一行字符串:";getline(cin, str); // 读入一行未知长度的字符串int length = str.size();if (testPalindrome(str, length)){cout << "True" << endl;}else{cout << "False" << endl;}return 0;
}bool testPalindrome(string s, int length) // 递归
{// 结束条件if (length == 0 || length == 1){return true;}if (s[0] != s[length - 1]){return false;}else{s = s.substr(1, length - 2); // 分割截取length = s.size();return testPalindrome(s, length);}
}// bool testPalindrome(string s)//非递归
// {
//     bool flag = false;
//     for (int i = 0; i < (s.size() / 2); i++)
//     {
//         if (s[i] == s[s.size() - 2])
//         {
//             if (i == (s.size() / 2) - 1)
//             {
//                 flag = true;
//             }
//         }
//     }//     return flag;
// }

运行截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python入门到精通(五)——Python数据容器

Python数据容器 前言 一、list 列表 1、定义 2、列表的下标索引 3、常用操作 4、列表的遍历 二、tuple 元组 1、定义 2、常用操作 三、str 字符串 1、定义 2、常用操作 四、容器序列的切片 五、set 集合 1、定义 ​编辑 2、常用操作 六、dict 字典、映射 1、…

Celery入门

Celery 官网&#xff1a;Celery - Distributed Task Queue — Celery 5.3.6 documentation Celery 官方文档英文版&#xff1a;Celery - Distributed Task Queue — Celery 5.4.0rc1 documentation Celery 官方文档中文版&#xff1a;Celery - 分布式任务队列 — Celery 3.1.…

AUTOSAR内存篇 -内存访问(MemAcc)

文章目录 功能介绍关键特性功能元素内存地址转换内存映射限制内存访问协调Job管理Job处理Job状态Job结果硬件特定的服务Burst模式支持通用锁机制动态内存驱动处理动态内存驱动激活服务调用模块处理

chronyd

chronyd https://chrony-project.org/doc/4.1/chrony.conf.html 无时钟源配置可参考 : Isolated networks 通过互联网同步的两台机器之间的典型精度在几毫秒内&#xff1b; 在 LAN 上&#xff0c;精度通常为数十微秒。 使用硬件时间戳或硬件参考时钟&#xff0c;亚微秒精度…

地图不仅引路:深探Java中Map接口的藏宝图

在Java编程中&#xff0c;处理键值对数据结构的需求十分普遍。Java集合框架&#xff08;Java Collections Framework&#xff09;提供了一个强大的接口Map&#xff0c;专门用来存储和操作一组键值对。本文将带你深入理解Java中的Map接口&#xff0c;包括它的工作原理、常用实现…

Linux网络编程——网络初识

文章目录 1. 网络协议初识1.1 为什么要有网络协议1.2 协议分层 2. OSI七层模型3. TCP/IP五层&#xff08;或四层&#xff09;模型4. 网络传输基本流程5. 以太网通信 1. 网络协议初识 1.1 为什么要有网络协议 早期计算机是独立的&#xff0c;如果要进行数据交互&#xff0c;就…

Jtti:怎么使用shell脚本查询数据库输出文件

在使用 Shell 脚本查询数据库并输出结果到文件时&#xff0c;通常会使用 sqlcmd&#xff08;对于 Microsoft SQL Server&#xff09;或 mysql&#xff08;对于 MySQL&#xff09;等命令行工具。下面是一个简单的示例&#xff0c;演示如何使用 Shell 脚本查询数据库并将结果输出…

超越人类上限的策划:百度输入法在候选词区域植入广告

一位 V2EX 用户最新发帖称&#xff0c;百度输入法的最新版本中引入了一个新功能&#xff0c;将广告直接植入到候选词区域。 具体表现为&#xff0c;当用户输入某些关键词时&#xff0c;候选词区域会显示与输入内容相关的广告链接。例如&#xff0c;用户输入“招商”时&#xf…

《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第5章 决策树(代码python实践)

文章目录 第5章 决策树—python 实践书上题目5.1利用ID3算法生成决策树,例5.3scikit-learn实例《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第5章 决策树 第5章 决策树—python 实践 import numpy as np import pandas as pd import matplotlib.pyplot as plt …

手动throw异常对象

手动throw异常对象 1.为什么需要手动抛出异常对象&#xff1f;2.如何理解"自动 vs 手动"抛出异常对象&#xff1f;3.如何实现手动抛出异常&#xff1f;4.注意点&#xff1a;throw后的代码不难执行&#xff0c;编译不通过。5.面试题&#xff1a;throw和throws的区别&a…

能源巨头施耐德电气遭遇勒索软件攻击

Bleeping Computer 网站消息&#xff0c;媒体透露能源管理和自动化巨头施耐德电气公司近期遭到 Cactus 勒索软件攻击&#xff0c;导致公司大量数据被盗。 施耐德电气是一家法国跨国公司&#xff0c;主要生产能源和自动化产品&#xff0c;从大卖场的家用电气元件到企业级工业控制…

后序遍历的线索化二叉树

对于后序遍历&#xff0c;需要明确&#xff0c;往往叶子结点&#xff0c;只能指向右子树&#xff08;如果右子树存在的情况&#xff09;&#xff0c;或者指向该结点&#xff08;因为这才是后序遍历&#xff09;&#xff0c;同样在进行退出到前一次递归的时候&#xff0c;我们要…

怎么控制Element的数据树形表格展开所有行;递归操作,打造万能数据表格折叠。

HTML <el-button type"success" size"small" click"expandStatusFun"> <span v-show"expandStatusfalse"><i class"el-icon-folder-opened"></i>展开全部</span><span v-show"expan…

THM学习笔记——Nmap

Nmap是一款用于网络发现和安全审计的网络安全工具&#xff0c;通常情况下&#xff0c;Nmap用于&#xff1a; 列举网络主机清单 管理服务升级调度 监控主机 服务运行状况 Nmap可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类…

如何使用Python+Flask搭建本地Web站点并结合内网穿透公网访问?

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架&#xff0c;让我们可以使用Python语言快速实现一个网站或Web服务&#xff0c;本期教程…

将Vue2中的console.log调试信息移除

前端项目构建生产环境下的package时&#xff0c;咱们肯定要去掉development环境下的console.log&#xff0c;如果挨个注释可就太费劲了&#xff0c;本文介绍怎么使用 babel-plugin-transform-remove-console 移除前端项目中所有的console.log. 1. 安装依赖 npm install babel-…

OpenAI发布新模型!ChatGPT性能重磅提升,API大幅降价,GPT-4 「变懒」被修复

OpenAI 对ChatGPT进行了大更新&#xff1a;推出了新一代的嵌入模型&#xff0c;对GPT-4 Turbo模型进行了更新&#xff0c;并将很快对GPT-3.5 Turbo的API进行大幅降价&#xff0c;GPT-4「变懒」行为也被修复。 接下来二狗就带大家看看ChatGPT的这次详细更新。 推出新的嵌入模型…

2024年华为OD机试真题-API集群负载统计-Python-OD统一考试(C卷)

题目描述: 某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。 RESTful API的由多个层级构成,层级之间使用 / 连接,如 /A/…

电脑护眼模式怎么设置?4个有效方法保护眼睛!

“我感觉每天使用电脑的时间久了&#xff0c;眼睛总是不太舒服。电脑护眼模式怎么设置呢&#xff1f;有什么比较好用的方法可以推荐吗&#xff1f;” 如果长时间使用电脑&#xff0c;或许会让我们感到用眼疲劳。电脑护眼模式是现代人常用的电脑设置之一&#xff0c;它能有效地减…

分布式ID(4):雪花算法生成ID之Leaf(美团点评分布式ID生成系统)

1 Leaf官方地址 Leaf源码地址: https://github.com/Meituan-Dianping/Leaf Leaf官方说明文档地址: https://tech.meituan.com/2019/03/07/open-source-project-leaf.htmlhttps://github.com/Meituan-Dianping/Leaf/blob/master/README_CN.md 这边只做简单介绍,详细说明…