【题目】:
给定一个字符串str,如果可以在str的任意位置添加字符,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果
举例:
str="ABA",str本身就是回文串,不需要添加字符,所以返回"ABA"
str="AB",可以在‘A‘之前添加‘B‘,使str整体都是回文串,故可以返回"BAB",也可以在‘B‘之后添加‘A‘,使str整体都是回文串,故也可以返回"ABA",总之,只要添加的字符数最少,只返回其中一种结果即可
【进阶题目】:
给定一个字符串str,再给定str的最长回文子序列字符串strlps,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果。进阶问题比原问题多了一个参数,请做到时间复杂度比原问题的实现低
举例:
str="A1B21C",strlps="121",返回"AC1B2B1CA"或者"CA1B2B1AC",总之,只要是添加的字符数最少,只返回其中一种结果即可
题目来源:左程云老师《程序员代码面试指南》
原文地址:https://www.cnblogs.com/latup/p/10149467.html
时间: 2024-09-30 21:11:22