标签:796 string temp 示例 abcde 旋转 字符串 Leetcode
给定两个字符串, A 和 B。
A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' 。如果在若干次旋转操作之后,A 能变成B,那么返回True。
示例 1:
输入: A = 'abcde', B = 'cdeab'
输出: true
示例 2:
输入: A = 'abcde', B = 'abced'
输出: false
注意:
A 和 B 长度不超过 100。
因为旋转操作是把前面一步分放到最后面,如果把字符串在复制一遍 temp = A+A = 'abcdeabcde'
那么旋转的字符串bcdea一定是temp的子串。
所以用一个子串匹配函数就可以实现。
时间复杂度是O(N)
class Solution {
public:
bool rotateString(string A, string B) {
string temp = A+A;
return A.size() == B.size() && temp.find(B)!=-1;
}
};
标签:796,string,temp,示例,abcde,旋转,字符串,Leetcode 来源: https://blog.csdn.net/wwxy1995/article/details/93210466
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。