博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法编程题3-字符串旋转词问题
阅读量:4212 次
发布时间:2019-05-26

本文共 607 字,大约阅读时间需要 2 分钟。

如果一个字符串str,把字符串str前面任意部分挪到后面去形成的字符串叫做str的旋转词。比如str=“1234”,str的旋转词为“1234”,"2341","3412",“4123”

给定两个旋转词a和b,请判断a和b是否互为旋转词

如果旋转词的长度为n,则最优解时间复杂度为O(N)

1.判断str1与str2是否长度相等

2.如果长度相等,生成str1+str1的长字符串

3.判断长字符串中是否包含有str2

代码示例:

#include
#include
using namespace std;bool IsStrRotate(const string& str1,const string& str2){ if (str1.length() != str2.length()) return false; string str3 = str1 + str1; string::size_type idx = str3.find(str2); return (idx == string::npos) ? false : true;} int main(){ string str1; string str2; cin >> str1; cin >> str2; cout << IsStrRotate(str1, str2) << endl; return 0;}

转载地址:http://oiumi.baihongyu.com/

你可能感兴趣的文章
Nio框架需要注意的两个问题(2)
查看>>
Netty笔记:ReplayingDecoder中buffer使用的一点小陷阱
查看>>
Java并发编程JUC源码学习之ThreadPoolExecutor
查看>>
基于Netty实现CometStreaming方式的聊天室
查看>>
基于Netty打造HttpClient实现股票实时推送
查看>>
用CountDownLatch和AtomicReference解决cache失效大并发透传DB的思路
查看>>
wait-notify的另一种情况
查看>>
Netty的Nio写优化
查看>>
2013技术博客汇总贴
查看>>
Redis Object的Idle Time
查看>>
写给分布式神器Fourinone
查看>>
讨论一下淘宝的Fourinone
查看>>
写给高性能数据库引擎coolhash
查看>>
写给《数据库引擎 CoolHash 性能测试报告》
查看>>
java中的mmap实现
查看>>
Redis的Aof被阻塞原因调查
查看>>
Redis Cluster的FailOver失败案例分析
查看>>
Android Alarm驱动源代码分析(Alarm.c)
查看>>
Android震动vibrator(马达)--系统到驱动的流程
查看>>
针对高通平台的驱动开发CSDN博客
查看>>