请问这题应该如何思考 ?
一点思路都没有:(
"""
给定一个字符串str,
通过在初始字符串的末尾添加字符使其成为回文,
找到可能最短的字符串。
对于str=“abcdc”,输出应为“abcdcba”。
"""
def build_palindrome(s):
pass
print(build_palindrome("abcdc"))
#"abcdcba"
print(build_palindrome("ababab"))
#"abababa"
请问这题应该如何思考 ?
一点思路都没有:(
"""
给定一个字符串str,
通过在初始字符串的末尾添加字符使其成为回文,
找到可能最短的字符串。
对于str=“abcdc”,输出应为“abcdcba”。
"""
def build_palindrome(s):
pass
print(build_palindrome("abcdc"))
#"abcdcba"
print(build_palindrome("ababab"))
#"abababa"
我提供一个思路:
一个字符串和它的逆序字符串肯定是回文,所以,将字符串的逆序依次附加到原始字符串上,判断是否为回文即可。
def build_palindrome(s):
r = s[::-1]
length = len(r)
for i in range(1,length+1):
s0 = s + r[-i:]
if s0 == s0[::-1]:
print(s0)
break