- 1、题目描述:

图片说明
- 2、题目链接:
https://www.nowcoder.com/practice/80b6bb8797644c83bc50ac761b72981c?tpId=196&tqId=37172&rp=1&ru=%2Factivity%2Foj&qru=%2Fta%2Fjob-code-total%2Fquestion-ranking&tab=answerKey

-3、 设计思想:

图片说明

-4、视频讲解链接B站视频讲解

-5、代码:
c++版本:

 class Solution {
public:
    /**
     * 旋转字符串
     * @param A string字符串 
     * @param B string字符串 
     * @return bool布尔型
     */
    bool solve(string A, string B) {
        // write code here
        /*如果字符串的长度都不相同就直接返回false
        如果长度相同,就让A字符串拼接自己然后在判断有没有B这个字符串
        */
        if(A.size() == B.size()){
            A += A;
            //string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,
            //那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数)
            if(A.find(B) != A.npos)
                return true;
        }
        return false;
    }
};

Java版本:

import java.util.*;


public class Solution {
    /**
     * 旋转字符串
     * @param A string字符串 
     * @param B string字符串 
     * @return bool布尔型
     */
    public boolean solve (String A, String B) {
        // write code here
        /*如果字符串的长度都不相同就直接返回false
        如果长度相同,就让A字符串拼接自己然后在判断有没有B这个字符串
        */
        return A.length() == B.length() ? (A+A).contains(B) : false;
    }
}

Python版本:

#
# 旋转字符串
# @param A string字符串 
# @param B string字符串 
# @return bool布尔型
#
class Solution:
    def solve(self , A , B ):
        # write code here
        '''如果字符串的长度都不相同就直接返回false
        如果长度相同,就让A字符串拼接自己然后在判断有没有B这个字符串
        '''
        if len(A) == len(B):
            if B in (A+A):
                return True
        else:
            return False

JavaScript版本:

/**
 * 旋转字符串
 * @param A string字符串 
 * @param B string字符串 
 * @return bool布尔型
 */
function solve( A ,  B ) {
    // write code here
    /*如果字符串的长度都不相同就直接返回false
        如果长度相同,就让A字符串拼接自己然后在判断有没有B这个字符串
        */
    if(A.length == B.length){
        return (A + A).includes(B);
    }
    return false;
}
module.exports = {
    solve : solve
};