
字符串题集
ZDF0414
这个作者很懒,什么都没留下…
展开
-
字符串中某一子串出现的次数
思路:遍历整个字符串,调用 strncmp 函数判断是否含有子串int Count(const char*src, const char*dst){ int count = 0; int slen = strlen(src);//源字符串 int dlen = strlen(dst);//要查找的子字符串 if (slen < dlen) return 0; for (int原创 2016-07-29 12:49:15 · 700 阅读 · 0 评论 -
输出字符串所有的子串
思路:(1)通过字符串的总长度,可知它的所有子串的长度分布范围 (2)按子串长度分类,依次找出每个长度段的所有子串关键函数:substrvoid FindStr(const string&str){ string sub; int len = str.length(); for (int i = 1; i <= len; i++)//用i控制子串的长度 {原创 2016-07-29 13:03:33 · 2833 阅读 · 1 评论 -
字符串中字符的所有组合(组合中的先后顺序不考虑)
思路:在字符串中没有相同的字符时,可采用位运算,得到所有的字符组合。 根据字符串的长度,可得知字符组合的所有方式。例:求出字符串“abc”字符的所有组合方式? 分析: (1)长度等于3 (2)即可用3个二进制位表示这三个字符 (3)3个二进制位共有7种组合方式(0原创 2016-07-29 13:21:57 · 1727 阅读 · 0 评论 -
字符串中字符的所有组合(递归方式)
思路:根据递归的特性,确定产生的字符组合顺序例:字符串“abc”的字符组合产生的顺序为: a、b、c、ab、ac、bc、abcvoid Print(vector& v){ for (int i = 0; i<v.size(); i++) { cout << v[i]; } cout << endl;}void _Combination(char* str, int原创 2016-07-29 13:35:42 · 2043 阅读 · 1 评论 -
找出字符串中连续出现次数最多的子串
pair FindSub(const string& str){ vectorv; int count = 1; int maxcount = 1; string ret; int len = str.length(); int i = 0; for (int i = 0; i < len; i++) { v.push_back(str.substr(i, len - i))原创 2016-07-29 16:46:40 · 864 阅读 · 0 评论