首页 > 试题广场 >

牛牛与字符串5

[编程题]牛牛与字符串5
  • 热度指数:241 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛有两个环形字符串s1和s2,他想知道它们是否有可能是同一个字符串,如果是,返回"YES",反之,返回"NO"。
示例1

输入

"abc","cba"

输出

"NO"
示例2

输入

"abc","cab"

输出

"YES"

备注:
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 如果是,返回"YES",反之,返回"NO"。
     * @param s1 string字符串 
     * @param s2 string字符串 
     * @return string字符串
     */
    public String solve (String s1, String s2) {
        // write code here
        if(s1.length()!=s2.length()){
            return "NO";
        }

        String temp = s2+s2;
        if(temp.contains(s1)){
            return "YES";
        }
        return "NO";
    }
}
发表于 2021-09-29 17:25:48 回复(0)
class Solution:
    def solve(self , s1 , s2 ):
        # write code here
        if len(s1) != len(s2):
            return 'NO'
        s1 = s1 * 2
        return 'YES' if s2 in s1 else 'NO'

发表于 2021-08-28 11:45:41 回复(0)
public class Solution {
    public String solve (String s1, String s2) {
        // write code here
        if(s1.length() != s2.length()) return "NO";
        int len = s2.length();
        int index = s2.indexOf(s1.charAt(0));
        for(int i=0;i<s1.length();i++){
            if(s1.charAt(i) != s2.charAt(index)) return "NO";
            if(++index == len) index = 0;
        }
        return "YES";
    }
}

发表于 2021-07-14 21:12:21 回复(0)
        if len(s1)!=len(s2):
            return "NO"
        else:
            s2_beg = s2.find(s1[0])
            j = 0
            for i in range(s2_beg,s2_beg+len(s2)):
                if s2[i%len(s2)]==s1[j]:
                    j += 1
                else: return "NO"
            return 'YES'
发表于 2021-06-08 11:13:28 回复(0)
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 如果是,返回"YES",反之,返回"NO"。
# @param s1 string字符串 
# @param s2 string字符串 
# @return string字符串
#
class Solution:
    def solve(self , s1 , s2 ):
        # write code here
        if len(s1)!=len(s2):
            return "NO"
        else:
            for i in range(len(s2)):
                if s1[0]==s2[i]:
                    for j in range(len(s2)):
                        if s1[j]!=s2[(i+j)%len(s2)]:
                            return "NO"
                    return "YES"
                            


                    return "YES"
            return "NO"
        
        
发表于 2021-04-23 17:19:28 回复(0)