7.Deque的应用案例-回文检查

Posted yanghongtao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.Deque的应用案例-回文检查相关的知识,希望对你有一定的参考价值。

 

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

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

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

技术图片

技术图片
from basic.deque import Deque

def 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 stillEqual

print(palchecker("lsdkjfskf"))
print(palchecker("radar"))
技术图片

 

 
 
 

以上是关于7.Deque的应用案例-回文检查的主要内容,如果未能解决你的问题,请参考以下文章

C++提高编程STL-deque容器

JS回文检查(FreeCodeCamp项目)

使用 Deque 检查给定字符串是不是为回文

为啥我的代码没有执行正确的答案/回文检查器 javascript

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

如果没有输入,如何退出代码?代码示例:检查字符串是不是为回文? (在 C 编程语言中)