博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.Deque的应用案例-回文检查
阅读量:6572 次
发布时间:2019-06-24

本文共 782 字,大约阅读时间需要 2 分钟。

- 回文检测:设计程序,检测一个字符串是否为回文。

- 回文:回文是一个字符串,读取首尾相同的字符,例如,radar toot madam

- 分析:该问题的解决方案将使用 deque 来存储字符串的字符。我们从左到右处理字符串,并将每个字符添加到 deque 的尾部。在这一点上,deque 像一个普通的队列。然而,我们现在可以利用 deque 的双重功能。 deque 的首部保存字符串的第一个字符,deque 的尾部保存最后一个字符。我们可以直接删除并比较首尾字符,只有当它们匹配时才继续。如果可以持续匹配首尾字符,我们最终要么用完字符,要么留出大小为 1 的deque,取决于原始字符串的长度是偶数还是奇数。在任一情况下,字符串都是回文。

from basic.deque import Dequedef palchecker(aString):    chardeque = Deque()    for ch in aString:        chardeque.addRear(ch)    stillEqual = True    while chardeque.size() > 1 and stillEqual:        first = chardeque.removeFront()        last = chardeque.removeRear()        if first != last:            stillEqual = False    return stillEqualprint(palchecker("lsdkjfskf"))print(palchecker("radar"))

 

转载于:https://www.cnblogs.com/bobo-zhang/p/10525545.html

你可能感兴趣的文章
Bzoj3626 [LNOI2014]LCA
查看>>
ios开发之--UICollectionView的使用
查看>>
Eclipse插件安装
查看>>
最有用的鸡汤
查看>>
通过java连接sqlserver数据库教程
查看>>
深入理解display属性
查看>>
ajax跨域问题解决方案(jsonp,cors)
查看>>
poj2533
查看>>
版本总结该怎么写
查看>>
PowerBI/Excel - PowerQuery数据转换系列 - 如何将多行的值串联到一行 - 行列转换
查看>>
BZOJ3343 & 洛谷2801:教主的魔法——题解
查看>>
BZOJ1010:[HNOI2008]玩具装箱——题解
查看>>
SpringMVC中使用forward和redirect进行转发和重定向以及重定向时如何传参详解
查看>>
「小程序JAVA实战」 小程序抽离公用方法进行模块化(12)
查看>>
数据库几种Top子句的使用方法
查看>>
vs.net2010 操作 Excel2003 与 Excel2007
查看>>
用 javascript 脚本,网站判读来访者是手机还是电脑
查看>>
Linux下Crontab定时任务的使用教程 以及 无法执行定时任务的解决方案
查看>>
转载:Asp.Net之Html控件与Web控件的区别及如何正确使用它们.
查看>>
31、PHP会被python取代吗?
查看>>