【8.8网易笔试】算法题十行搞定最短回文串
投了网易云音乐的音频算法岗,下午笔试看了一圈题目,看到最短回文串就想试试用Python写,本地明明可以过的复制回编辑器里就死活过不了...最后AC了没时间写其它题了orz
题目描述
小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。)
小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。
现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。
输入描述
输出描述
示例
输入
noo
输出
noon
输入
helloworld
输出
helloworldlrowolleh
我的解法
上手直接用python写了,str[::-1]翻转字符串真是太好用了,就是之前没用过牛客,输入输出方式真是让人摸不着头脑
import sys for line in sys.stdin: line = line.strip() if line == '': print("") rev_line = line[::-1] for i in range(len(line)): length = len(line) - i if line[i:] == rev_line[:length]: result = line + rev_line[length:] print(result) break#笔试题目##网易#