判断回文字符串(c,python)
回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,abcba等)
判断回文字符串比较简单,即用两个变量left,right模仿指针(一个指向第一个字符,一个指向最后一个字符),
每比对成功一次,left向右移动一位,right向左移动一位,如果left与right所指的元素不相等则退出,最后比较
left与right的大小,如果left>right则说明是回文字符串。
C语言版:
#include<stdio.h>
#include<string.h>
bool huiwen(char *c)//判断是否为回文字符串
{
int len=strlen(c);
int left=,right=len-;
while(left<=right)
{
if(c[left]==c[right])
{
left++;
right--;
}
else
break;
}
if(left>right)
return true;
else
return false;
}
int main()
{
char c[];
printf("请输入您要判断的字符串:")
scanf("%s",c);
if(huiwen(c))
printf("Yes\n");
else
printf("No\n");
return ;
}
python版:
#尝试用python判断回文字符串
while True:
str=input("please input a string:")#输入一个字符串
length=len(str)#求字符串长度
left=0#定义左右‘指针’
right=length-1
while left<=right:#判断
if str[left]==str[right]:
left+=1
right-=1
else:
break;
if left>right:
print("yes")
else :
print("no")
使用函数判断:
将字符串反序输出保存与原字符串比较
我们使用切片功能翻转文本。我们已经了解了我们可以通过使用 seq[a:b] 来从位置 a 开
始到位置 b 结束来对序列进行切片 。我们同样可以提供第三个参数来确定切片的步长
(Step) 。默认的步长为 1 ,它会返回一份连续的文本。如果给定一个负数步长,如 -1 ,
将返回翻转过的文本。
def reverse(text):
return text[::1] def is_palindrome(text):
return text==reverse(text) something = input("Enter text:")
if is_palindrome(something):
print("Yes,it is a palindrome")
else:
print("No,it is not a palindrome")
判断回文字符串(c,python)的更多相关文章
- 判断回文字符串、回文链表、回文数(python实现)
所谓回文字符串,就是正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串.即是对称结构 判断回文字符串 方法一: def is_palin ...
- 【LeetCode】680. Valid Palindrome II 验证回文字符串 Ⅱ(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双指针 思路来源 初版方案 进阶方案 日期 题目地址 ...
- js 判断回文字符串
回文字符串:字符串从前往后读和从后往前读字符顺序是一致的. 判断一个字符串是不是回文字符串 function isPalindrome(str) { var str1 = str.split(''). ...
- Java 判断回文字符串有多少和其中的最大字符串
一.简介代码功能 该代码的功能可以实现对任意的一段字符串进行判断是否有回文,回文有哪些,和其中的最大回文. 二.代码部分 1.全局变量 static String hws = "" ...
- Problem B: 判断回文字符串
#include<stdio.h> #include<string.h> int huiwen(char *str) //定义回文函数 { //char ch[100]; in ...
- 回文字符串的判断!关于strlen(char * str)函数
#include <stdio.h> #include <string.h> int ishuiw(char * p); int main() { ;//true-false接 ...
- js判断一个字符串是否是回文字符串
回文字符串:即字符串从前往后读和从后往前读字符顺序是一致的. 如:字符串abccba,从前往后读是a-b-c-c-b-a:从后往前读也是a-b-c-c-b-a 方法一 function palindR ...
- Python生成一个不含回文字符串的字符串
[本文出自天外归云的博客园] 回文字符串介绍 回文字符串就是对称的字符串,例如: “ABA” “ABBA” “ABCBA” 题目 给定一个字符串,请发明一种方法,让字符串中不包含回文字符串. 我的解法 ...
- Java 判断是否为回文字符串
回文字符串有两种:abcba,abccba. 代码: static boolean func(String str) { int len = str.length(); for (int i = 0; ...
随机推荐
- SACD ISO镜像中提取DSDIFF(DFF)、DSF文件
听语音 | 浏览:5620 | 更新:2015-08-25 11:46 | 标签:硬件 1 2 3 4 5 分步阅读 现在有一种比较流行的无损音乐传输介质是SACD ...
- Linux服务器上Tomcat的Web工程部署
Linux服务器上Tomcat的Web工程部署 部署Web应用到Tomcat服务器就是将开放好的JavaWeb应用打包成war包,然后发布到tomcat服务器的webapps目录下: 步骤1,先进入t ...
- Thinkphp5 引入第三方类库的方法
原文链接:http://www.zhaisui.com/article/42.html
- Java第一次实验 20145104张家明
Java第一次实验 实验报告 实验要求: 1.使用JDK编译.运行简单的Java程序 2.使用IDEA 编辑.编译.运行.调试Java程序 实验内容: 1.使用JDK编译.运行简单的Java程序: 2 ...
- CmsEasy 5.5 cut_image 代码执行漏洞
3 CmsEasy 5.5 cut_image 代码执行漏洞 3.1 摘要 3.1.1 漏洞介绍 CmsEasy是一款基于PHP+MySQL架构的网站内容管理系统,可面向大中型站点提供重量级网站建设解 ...
- python常见模块属性与方法
sys模块的变量 变量 描述 sys.path 模块搜索路径 path[0] 是当前脚本程序的路径名,否则为 '' sys.modules 已加载模块的字典 sys.version 版本信息字符串 s ...
- Linux设备驱动中的IO模型---阻塞和非阻塞IO【转】
在前面学习网络编程时,曾经学过I/O模型 Linux 系统应用编程——网络编程(I/O模型),下面学习一下I/O模型在设备驱动中的应用. 回顾一下在Unix/Linux下共有五种I/O模型,分别是: ...
- P3901 数列找不同
P3901 数列找不同 题目描述 现有数列 \(A_1,A_2,\cdots,A_N\) ,Q 个询问 \((L_i,R_i)\) , \(A_{Li} ,A_{Li+1},\cdots,A_{Ri} ...
- 乘积尾零|2018年蓝桥杯B组题解析第三题-fishers
标题:乘积尾零 如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零? 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 ...
- 如何在一台主机上管理自己的多个git repository
在使用git时,通常是直接ssh-keygen生成默认秘钥.然后将共钥添加到远程仓库,就可以访问了. 但是,当我们有多个repository时,这种方式就不适用了,因为一个秘钥只能关联一个远程仓库. ...