美文网首页
3_5两串旋转

3_5两串旋转

作者: X_Y | 来源:发表于2017-09-07 13:37 被阅读6次

如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A="12345",A的旋转词有"12345","23451","34512","45123"和"51234"。对于两个字符串A和B,请判断A和B是否互为旋转词。

给定两个字符串A和B及他们的长度lena,lenb,请返回一个bool值,代表他们是否互为旋转词。

测试样例:
输入:"cdab",4,"abcd",4
返回:true

class Rotation {
    public:
        bool chkRotation(string A, int lena, string B, int lenb) {
            // write code here
            bool result = false;
            if ( lena != lenb){
                return result;
            }
            string sum = A + A;
            for(int i = 0; i < lena; i++){
                if(sum.substr(i, lena) == B){
                    result = true;
                }
            }
        return result;
        }
};

python实现

# -*- coding:utf-8 -*-

class Rotation:
    def chkRotation(self, A, lena, B, lenb):
        # write code here
        result = False
        if lenb != lena:
            pass
        else:
            str_cat = A + A
            print str_cat
            for idx in xrange(lena):
                if str_cat[idx : idx+lena] == B:
                    result = True
        return result

相关文章

  • 3_5两串旋转

    如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A="12345",A的旋转词...

  • 两串旋转

    题目描述 如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A="12345",...

  • 问题:判断两串旋转

    如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A="12345",A的旋转词...

  • 2019-02-17 Day43待提高

    1.旋转字符串给定两个字符串, A 和 B。 A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A...

  • 旋转字符串 (lintcode:rotate-string)

    旋转字符串 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 例如: 对于字符串 "abcdefg...

  • 旋转字符串

    旋转字符串

  • lintCode题解(8)

    标签(空格分隔): lintCode 旋转字符串 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)...

  • 判断字符串str1是否是字符串str2的旋转词

    判断字符串str1是否是字符串str2的旋转词 对字符串的旋转操作描述如下:例如: str = "123456" ...

  • 牛客/力扣算法题

    1.逆转字符串 2.旋转字符串

  • LintCode算法刷题之旋转字符串

    链接:旋转字符串 描述 给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转...

网友评论

      本文标题:3_5两串旋转

      本文链接:https://www.haomeiwen.com/subject/lwlijxtx.html