• 判断一个字符串是另一个字符串的循环移位


    例如一个字符串:s1 = ABCD 和 s2 = ACBD

    检查一个字符串s1 是不是 由 s2 循环移位得到的

    思路如下: 可以变化字符串s1 为 ABCDABCD

    这样判断s2 是不是 s1 的字串

    那么,我们可以用前面写的KMP匹配算法来判断一个字符串是否是另一个字符串的字串

    #例如一个字符串aaabbb,又有一个字符串bbaaab,
    #判断后一个字符串是不是另一个字符串进行旋转后所得到的
    
    import KMPAlgorithm
    def  isContainOther(string1,string2):
        if KMPAlgorithm.KMPAlgorithm(string1,string2):
            print "string2 is sting1 rotation type"
        else:
            print "string2 can not make by string1"
    
    
    def connectString(string1):
        string1 += string1
        return string1
    
    
    
    if __name__ == "__main__":
        string1 = "ABCD"
        string2 = "CDAA"
    
        isContainOther(string2,connectString(string1))
  • 相关阅读:
    Linux6
    大小超过2t的分区规划 parted命令
    fdisk命令磁盘分区
    扩展
    磁盘管理
    在Linux中如何手动创建一个用户
    Linux5
    Linux4
    19_权限和分组
    18_django的用户模型和扩展django的用户模型
  • 原文地址:https://www.cnblogs.com/lgy6534588/p/3535853.html
Copyright © 2020-2023  润新知