算法竞赛——回文串镜像串求解(附python代码)

题目:求解字符串是否是回文串或者镜像串(回文串是指正序逆序都一样,镜像串是指镜像后字符串一样),其中,镜像字典如下:

{'A':'A', 'E':'3', 'H':'H', 'I':'I', 'J':'L', 'L':'J',
          'M':'M', 'O':'O', 'S':'2', 'T':'T', 'U':'U', 'V':'V',
          'W':'W', 'X':'X', 'Y':'Y', 'Z':'5','1':'1','2':'S','5':'Z','8':'8'}

直接上代码吧,也很简单。

"""
输入一个字符串,判断是否是回文串或者镜像串
算法竞赛入门经典(第2版)
P48例题3-3
"""
#coding:utf-8

def huiwenchuan(string):
    return string == string[::-1]

def jingxiangchuan(string, dt):
    isjingxiangchuan = False
    for i in range(0,len(string)//2):
        if string[i] in dt.keys() and (string[len(string)-1-i] in dt[string[i]]):
            isjingxiangchuan = True
        else:
            isjingxiangchuan = False
        return isjingxiangchuan


if __name__ == '__main__':
    string = "madam"
    #回文串
    print(huiwenchuan(string))
    #镜像串
    #string = '2A3MEBS'
    dt = {'A':'A', 'E':'3', 'H':'H', 'I':'I', 'J':'L', 'L':'J',
          'M':'M', 'O':'O', 'S':'2', 'T':'T', 'U':'U', 'V':'V',
          'W':'W', 'X':'X', 'Y':'Y', 'Z':'5','1':'1','2':'S','5':'Z','8':'8'}
    print(jingxiangchuan(string=string, dt=dt))

Ref:
算法竞赛入门经典第二版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值