题目:
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.
思路:
练手题目,哈哈。
代码:
class Solution {
public:
bool rotateString(string A, string B) {
if (A.length() != B.length()) {
return false;
}
if (A == B) {
return true;
}
for (int i = 0; i + 1 < A.length(); ++i) {
A.push_back(A[0]); // move the first char to the back
A.erase(A.begin());
if (A == B) {
return true;
}
}
return false;
}
};
本文介绍了一个简单的算法问题,即判断通过若干次将字符串A的最左字符移至最右位置的操作能否使A变为字符串B。文章提供了C++实现的示例代码。
368

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



