博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.8字符串- 翻转子串
阅读量:5038 次
发布时间:2019-06-12

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

假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。

给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。

测试样例:
"Hello world","worldhello "
返回:false
 
"waterbottle","erbottlewat"
返回:true 解法:(一)1.用字符串排序的方法,sort,注意sort对字符串排序的用法sort(s.begin(), s.begin()+n)
class ReverseEqual {public:    bool checkReverseEqual(string s1, string s2) {        // write code here        int len1 = s1.length();        int len2 = s2.length();        if(len1 != len2)        return false;        sort(s1.begin(), s1.end());        sort(s2.begin(), s2.end());        if(s1 == s2)       return true;       return false;    }};

  (二)1.循环移位的方法,用find()函数寻找

class ReverseEqual {public:    bool checkReverseEqual(string s1, string s2) {        int size1 = s1.size();        int size2 = s2.size();        if(size1 == 0 || size2 == 0){            return false;        }//if        string str = s1 + s1;        if(str.find(s2) == -1){            return false;        }//if        return true;    }};

  

转载于:https://www.cnblogs.com/xiaohaigege/p/5182435.html

你可能感兴趣的文章
[CF803C] Maximal GCD(gcd,贪心,构造)
查看>>
oracle连接的三个配置文件(转)
查看>>
Java 8 中如何优雅的处理集合
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Centos下源码安装git
查看>>
CF717A Festival Organization(第一类斯特林数,斐波那契数列)
查看>>
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
Oracle composite index column ordering
查看>>
kaggle竞赛
查看>>
区块链入门教程
查看>>
npm常用命令
查看>>
南海区行政审批管理系统接口规范v0.3(规划)4.2.【queryExpireList】当天到期业务查询...
查看>>
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>
生成指定位数随机数的方法
查看>>
Essential C++学习笔记
查看>>
where,having与 group by连用的区别
查看>>
【MySQL】MySQL锁和隔离级别浅析二 之 INSERT
查看>>
Oracle T4-2 使用ILOM CLI升级Firmware
查看>>
4.14上午
查看>>