oj 回文子串

来源:互联网 发布:麻将游戏服务端源码 编辑:程序博客网 时间:2024/05/16 17:00

描述:

给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".

Python代码:

# 给你一个字符串a和一个正整数n,# 判断a中是否存在长度为n的回文子串。# 如果存在,则输出YES,否则输出NO# 回文串的定义:记串str逆序之后的字符串是str1# str=str1,则称str是回文串,如"abcba".def huiwen(a, n):    newA = ''    for i in range(n // 2):        newA += a[i]    mid = (n // 2) + 1    behindA = a[mid:]    behindAR = behindA[:: -1]    if newA == behindAR:        # print(behindAR)        return 'YES'    else:        return 'NO'if __name__ == '__main__':    a = input('a:')    n = int(input('n:'))    if n == 1:        print('YES')    else:        finish = n        flag = 0        for i in range(0, len(a) - n + 1):            strA = a[i: finish]            # print(newA)            finish += 1            result = huiwen(strA, n)            if result == 'YES':                flag = 1                break            else:                flag = 0        if flag == 1:            print('YES')        else:            print('NO')

原创粉丝点击