判断回文字符串

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

《递归入门》

所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。比如"level" 、 “aaabbaaa”


题目:判断一个字符串是否为回文

解法:递归


递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决

问:如何缩少问题规模?

答:通过观察可以知道,一个回文字符串其中内部也是回文。所以,我们只需要以去掉两端的字符的形式一层层检查,每一次的检查都去掉了两个字符,这样就达到了缩少问题规模的目的。


新问题与原问题有着相同的形式

当去掉两端字符后的字符串,其产生的新问题同样是检查这个字符串是否回文。


递归的结束需要简单情景

1. 字符串长度可能会奇数或偶数:

  • 如果字符串长度是奇数,字符串会剩下最中间那位字符,但其不影响回文。当检查到长度为1的时候即代表此字符串是回文
  • 如果字符串长度是偶数,当两端的字符串两两比较检查后不会剩下字符。即检查到长度为0的时候即代表此字符串是回文

2. 如果检查到两端两个字符不相同。则说明此字符串不是回文,直接返回0,不需要继续检查


递归跳跃的信任

此题的递归分解比较简单,所以对在递归过程中细节的实现,我们可以直接看出。但是一些较复杂的题目上,我们就没那么容易看出过程中细节的实现,这时候就需要我们递归跳跃的信任!


#include <iostream>using namespace std;int fun(int low, int high, char *str, int length)if (length == 0 || length == 1)  return    1if (str[low] != str[high])  return    0return fun(low+1, high-1, str, length-2);}int main()char    str[]="aaabdaaa"int     length = strlen(str); //返回1代表是, 0代表不是 cout << fun(0, length-1, str, length) << endlreturn    0;}




           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

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

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

相关文章

matplotlib 中文显示 的问题

第一种方法 from pylab import mpl import numpy as npmpl.rcParams[font.sans-serif] [SimHei] # 指定默认字体 mpl.rcParams[axes.unicode_minus] False # 解决保存图像是负号 - 显示为方块的问题 %pylab inline t np.arange(-5 * np.pi, 5 * np.pi, 0.01) y np.sin…

排序算法入门之冒泡排序优化

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;这篇文章是对上一篇文章中的冒泡排序进行优化…

递归入门 斐波那契数列

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;《递归入门》斐波那契数列百度百科斐波那契数…

用栈解决四则运算问题

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;本文章的解决方法参考了《大话数据结构》中关…

源码篇:Python 实战案例----银行系统

import time import random import pickle import osclass Card(object):def __init__(self, cardId, cardPasswd, cardMoney):self.cardId cardIdself.cardPasswd cardPasswdself.cardMony cardMoneyself.cardLock False # 后面到了锁卡的时候需要有个卡的状态class User…

排序算法入门之简单选择排序

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;在学了冒泡排序后&#xff0c;会发觉这种算法…

ubuntu12 04下django安装略谈

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;首先你需要肯定你的机子上装了python现在ubu…

React Native 开发环境搭建

1、安装 Python 2&#xff0c;不知道是否已支持 Python 3 2、安装 node&#xff0c;npm。。。 修改 npm 镜像&#xff0c;不建议使用 cnpm&#xff0c;cnpm 安装模块的路径与 npm 有差别 npm config set registry https://registry.npm.taobao.org --global npm config set dis…

递归入门

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;写在前面&#xff1a;对于强大的递归。要想做…

判断一个数是偶数还是奇数

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;《递归入门》交互递归到目前为止&#xff0c…

C语言的fgets 与 gets

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;今天在翻《C语言参考手册》查看文件操作的相…

递归入门 阶乘函数

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;《递归入门》对许多人而言&#xff0c;理解递…

Java-Shiro(三):Shiro与Spring MVC集成

新建Java Daynamic Web项目 导入Spring、SpringMVC依赖包&#xff1a; 导入Spring & Spring MVC包&#xff08;导入如下所有开发包&#xff09;&#xff1a; Spring AOP依赖扩展包&#xff1a; 配置Spring &#xff1a; 1&#xff09;修改web.xml导入“#contextLoaderList…

第一个django项目

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;说在前面&#xff0c;这篇文章是为记录下我个…

springcloud20---Config加入eureka

Config server也可以加用户名和密码。Config client通过用户名和密码访问。 Config server也可以做成高可用集群。 Config与eureka配置使用。把Config server注册到eureka。Config client也要注册到eureka。 package com.itmuch.cloud;import org.springframework.boot.SpringA…

字符串右移n位

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;题目&#xff1a;实现字符串右移几位&#x…

mysql中的CURRENT_TIMESTAMP

MySQL的timestamp类型可以使用CURRENT_TIMESTAMP来指定默认值&#xff0c;当记录增、改时&#xff0c;该值会自动取当前时间&#xff0c;如下图所示&#xff1a; 增加或修改记录时&#xff0c;该值自动变化 但是这个跟MySQL的版本及日期的具体类型有关&#xff0c;只有5.6之后的…

C++异常之异常说明

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;为了能够编写适当的catch子句&#xff0c;了…

微信小程序image组件中aspectFill和widthfix模式应用详解

aspectFill 与 widthfix 都是保持宽高比不变 aspectFill 保持纵横比缩放图片&#xff0c;只保证图片的短边能完全显示出来。也就是说&#xff0c;图片通常只在水平或垂直方向是完整的&#xff0c;另一个方向将会发生截取。 aspectFill同样保持图片的宽高比不会变形。但它让图片…

poj 2255 Tree Recovery 解题报告

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;题目出处题意&#xff1a;输入两组数据&…