[LeetCode]Rotate String

题目描述:

LeetCode 796. Rotate String

We are given two strings, A and B.

A shift on A consists of taking string A and moving the leftmost character to the rightmost position. For example, if A = 'abcde', then it will be 'bcdea' after one shift on A. Return True if and only if A can become B after some number of shifts on A.

Example 1:
Input: A = 'abcde', B = 'cdeab'
Output: true

Example 2:
Input: A = 'abcde', B = 'abced'
Output: false

Note:

  • A and B will have length at most 100.

题目大意:

给定两字符串A和B,判断A是否可以通过若干次平移变换得到B

平移变换是指将字符串的首字符移除并添加至末尾

解题思路:

蛮力法(Brute Force)

Python代码:

class Solution(object):
    def rotateString(self, A, B):
        """
        :type A: str
        :type B: str
        :rtype: bool
        """
        if not A and not B: return True
        return any(A[x:] + A[:x] == B for x in range(len(A)))

 

本文链接:http://bookshadow.com/weblog/2018/03/11/leetcode-rotate-string/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码

Pingbacks已关闭。

评论
  1. luojiyin luojiyin 发布于 2018年7月24日 18:00 #

    需要考虑 到
    if len(A) ==0 and len(B) ==0 :
    return True

    或者写成
    if not A and not B:
    return True

  2. 在线疯狂 在线疯狂 发布于 2018年9月16日 16:37 #

    感谢指正,已经更新!

张贴您的评论