NC114. 旋转字符串
描述
示例1
输入:
"youzan","zanyou"
输出:
true
示例2
输入:
"youzan","zyouan"
输出:
false
示例3
输入:
"nowcoder","nowcoder"
输出:
true
C++ 解法, 执行用时: 2ms, 内存消耗: 324KB, 提交时间: 2021-05-24
class Solution { public: /** * 旋转字符串 * @param A string字符串 * @param B string字符串 * @return bool布尔型 */ bool solve(string A, string B) { // write code here int j=B.size()/2; for(int i=0;i<A.size()/2;i++){ if(A[i]!=B[j]) break; else j++; } if(j==B.size()) return true; return false; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 324KB, 提交时间: 2021-05-20
class Solution { public: /** * 旋转字符串 * @param A string字符串 * @param B string字符串 * @return bool布尔型 */ bool solve(string A, string B) { // write code here for(int i=1; i<A.size(); ++i){ string a = A.substr(0, i); string b = A.substr(i); if(b + a == B){ return true; } } return false; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 324KB, 提交时间: 2021-02-02
class Solution { public: /** * 旋转字符串 * @param A string字符串 * @param B string字符串 * @return bool布尔型 */ bool solve(string A, string B) { // write code here for(int i=0; i<A.length()-1; i++){ //A = A.substr(1,A.length()-1)+A[0]; //if(A == B){ // return true; //} string newA; for(int j=i+1; j<A.length(); j++) newA = newA+A[j]; for(int j=0; j<=i; j++) newA = newA+A[j]; if(newA == B){ return true; } } return false; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 332KB, 提交时间: 2020-11-16
class Solution { public: /** * 旋转字符串 * @param A string字符串 * @param B string字符串 * @return bool布尔型 */ bool solve(string a, string b) { // write code here if(a.size()!=b.size()) return false; string s=a+a; if(s.find(b)!=string::npos) return true; else return false; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 344KB, 提交时间: 2021-05-02
class Solution { public: /** * 旋转字符串 * @param A string字符串 * @param B string字符串 * @return bool布尔型 */ bool solve(string A, string B) { // write code here for(int i = 1; i < A.size(); i++) { string str1 = A.substr(0, i); string str2 = A.substr(i); if (B.compare(str2+str1) == 0) { return true; } } return false; } };