PROBLEM:
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:
AandBwill have length at most100.
SOLVE:
class Solution {
public:
bool rotateString(string A, string B) {
return A.size()==B.size()&&(A+A).find(B)!=string::npos;
}
};def rotateString(self, A, B):
return len(A) == len(B) and B in A + A
本文介绍了一种用于判断通过旋转操作使两个字符串相等的高效算法。该算法利用双倍拼接源字符串的方法来快速查找目标字符串是否存在于源字符串的某种旋转形式中。此方法简单且易于实现。
1240

被折叠的 条评论
为什么被折叠?



