zoukankan      html  css  js  c++  java
  • Deque的应用案例-回文检查

    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"))

  • 相关阅读:
    python之HtmlTestRunner(一)生成测试报告
    测试场景分析-上传文件软件
    测试场景分析-一只钢笔
    md文件的基本常用编写语法
    ipad4密码忘记锁定了如何破解
    python之unittest验证函数功能
    python之排序的几种方法
    python之导入模块的方法
    面经-蘑菇街
    面经-有赞
  • 原文地址:https://www.cnblogs.com/yangte/p/15006541.html
Copyright © 2011-2022 走看看