1. 程式人生 > >5.13 添加最少字符使字符串整體都是回文字符串

5.13 添加最少字符使字符串整體都是回文字符串

需要 參數 面試指南 最長 5.1 子序列 情況 字符串 回文子序列

題目】:

  給定一個字符串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",總之,只要是添加的字符數最少,只返回其中一種結果即可

題目來源:左程雲老師《程序員代碼面試指南》

5.13 添加最少字符使字符串整體都是回文字符串