首页 > 试题广场 >

旋转字符串(二)

[编程题]旋转字符串(二)
  • 热度指数:1611 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
字符串旋转:
给定两个长度为n字符串A和B,如果能将A从中间某个位置分割为左右两部分字符串(不能为空串),并将左边的字符串移动到右边字符串后面组成新的字符串可以变为字符串B时返回true。
例如:如果A=‘youzan’,B=‘zanyou’,A按‘you’‘zan’切割换位后得到‘zanyou’和B相同,返回true。
再如:如果A=‘abcd’,B=‘abcd’,无法切成两个非空串,使得A换位后可以得到B,返回false。

数据范围:A,B字符串长度满足,保证字符串中仅包含小写英文字母和阿拉伯数字
示例1

输入

"abcd","bcda"

输出

true
示例2

输入

"abcd","abcd"

输出

false
class Solution:
    def solve(self , A , B ):
        # write code here
        for i in range(1, len(A)):
            str1 = A[i:] + A[:i]
            if str1 == B:
                return True
                break
        return False
发表于 2021-08-15 02:09:15 回复(0)