每天开心一点

Python:每日一题 42

2017-11-27 13:28:00    六月    605    来源: Python:每日一题 42

难一点的题目翻译题目太长了,今天出个简单一些的吧。
文字回文联
要求:
1、给定字符串是不能改动。
2、生成的回文联应当尽量短。
3、当有多种可能的情况时,给定文字处于起始位置的优先。列入例子中的,ab。当然bab也是结果,但是因为aba中ab处于开始位置,所以aba优先。
  1. makePalindrome('a') --> 'a'
  2. makePalindrome('ab') --> 'aba'
  3. makePalindrome('abc') --> 'abcba'
  4. makePalindrome('race') --> 'racecar'
  5. makePalindrome('leveled') --> 'deleveled'                #注意哦,这个策略有点不一样的哦。
复制代码


测试代码:
  1. test.assert_equals(makePalindrome('ab'), 'aba');
  2. test.assert_equals(makePalindrome('abb'), 'abba');
  3. test.assert_equals(makePalindrome('abc'), 'abcba');
  4. test.assert_equals(makePalindrome('rad'), 'radar');
  5. test.assert_equals(makePalindrome('race'), 'racecar')
复制代码


本题冬雪的答案已然很简单了,所以我就给个链接吧!
http://bbs.fishc.com/forum.php?mod=redirect&goto=findpost&ptid=87034&pid=2886595