题目描述:
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.
class Solution {
public:
bool rotateString(string A, string B) {
if(A.size()!=B.size()) return false;
if((A+A).find(B)!=string::npos) return true;
return false;
}
};
本文介绍了一种判断两个字符串是否可以通过旋转操作相互转换的算法。通过将字符串A进行旋转,检查其是否能变为字符串B。算法首先比较两字符串长度,若不同则直接返回False;若相同,则将A串复制拼接自身,再在新串中查找B串是否存在,存在则说明可通过旋转使A变为B。
375

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



