zoukankan      html  css  js  c++  java
  • python | 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。

    给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。

    示例 1:

    输入: "aaceebb"
    输出: "bbeacaacaebb"

     1  1 class Solution(object):
     2  2     def shortestPalindrome(self, s):
     3  3         """
     4  4         :type s: str
     5  5         :rtype: str
     6  6         """
     7  7         # 把当前字符串参数进行反转
     8  8         res = s[::-1]
     9  9         # 对当前参数len进行循环
    10 10         for i in range(len(s)):
    11 11             # 判断当前 循环的数据 和 原始参数数据 进行比对 当相等时成立 结束当前循环
    12 12             if(res[i:len(s)] == s[0:len(s)-i]):
    13 13                 break
    14 14         # 拿返回转数据和原始参数相加即可
    15 15         return res[0:i]+s
    16 16 
    17 17 if __name__ == '__main__':
    18 18     a =Solution()
    19 19     aa= a.shortestPalindrome("aacaebb")
    20 20     print(aa)

    返回结果

    1 "bbeacaacaebb"

    示例 2:

    输入: "abcd"
    输出: "dcbabcd"
      
     1 class Solution(object):
     2     def shortestPalindrome(self, s):
     3         """
     4         :type s: str
     5         :rtype: str
     6         """
     7         # 把当前字符串参数进行反转
     8         res = s[::-1]
     9         # 对当前参数len进行循环
    10         for i in range(len(s)):
    11             # 判断当前 循环的数据 和 原始参数数据 进行比对 当相等时成立 结束当前循环
    12             if(res[i:len(s)] == s[0:len(s)-i]):
    13                 break
    14         # 拿返回转数据和原始参数相加即可
    15         return res[0:i]+s[1:]
    16 
    17 if __name__ == '__main__':
    18     a =Solution()
    19     aa= a.shortestPalindrome("aacaebb")
    20     print(aa)

    返回结果

    1 1 "bbeacacaebb"
  • 相关阅读:
    nvm安装及使用(windon/mac)
    JVM学习笔记
    Java多线程
    OkHttpClient调优案例
    Java各版本新增特性, Since Java 8
    Linux下MySQL数据库的备份与恢复
    算法和数据结构学习笔记
    联想台式机安装网卡驱动指南
    解决「现有新的ios更新可用,请从ios14 beta 版更新」问题
    linux 命令英文全称(转帖)
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/13580626.html
Copyright © 2011-2022 走看看