字符串左移包含问题
来源:互联网 发布:js中鼠标点击图片放大 编辑:程序博客网 时间:2024/05/16 07:19
给定两个字符串s1和s2,要求判定s2是否能够被通过s1作循环移位得到的字符串包含。例如,s1=AABCD和s2=CDAA,返回true;给定s1=ABCD和s2=ACBD,返回false。容易得,我们可以利用双重循环,对s1进行循环移位,判断字符串是否包含,遍历其所有的可能性。但是,我们观察移位后的结果,对s1移位后,其几种结果必包含于s1s1中,即AABCDAABCD,所以只需要判断s2是否包含于s1s1中即可。
//字符串左移位包含 #include <stdio.h>#include <string.h>#include <stdlib.h>bool match1(char* str1, char* str2) //方法一,采用双重循环遍历 { int len = strlen(str1); for(int i = 0; i < len; ++i) { char tem = str1[0]; for(int j = 0; j < len - 1; ++j) { str1[j] = str1[j + 1]; } str1[len - 1] = tem; if(strstr(str1, str2) != NULL) { printf("包含"); return true; } } printf("包含"); return false;}bool match2(char* str1, char* str2) //方法二,其中tem为s1s1 { char* tem = (char*)malloc(2 * sizeof(str1)); strcpy(tem, str1); strcat(tem,str1); if(strstr(tem, str2) != NULL) { printf("包含"); return true; } printf("不包含"); return false;}int main(){ char str1[] = "AUCD"; char str2[] = "CDA"; match1(str1, str2); match2(str1, str2); return 0;}
0 0
- 字符串左移包含问题
- 字符串循环左移问题
- 字符串左移m位问题
- 字符串循环左移的问题
- 字符串左旋转问题
- 字符串包含问题
- 字符串移位包含问题
- 字符串的包含问题
- 字符串是否包含问题
- 字符串包含问题
- 字符串包含问题
- 字符串移位包含问题
- 字符串包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 字符串包含问题
- 字符串移位包含问题
- 字符串移位包含问题
- 性能测试工具curl-loader二---测试分析
- javascript学习记录——canvas元素的基本操作
- AIDL自我提醒,错误小注意
- Java中的泛型
- 在CALayer中绘制图片解决图片倒立的三种方法
- 字符串左移包含问题
- Item 01:视C++为一个语言联邦
- pandas.loc 选取指定列进行操作
- tolua++简介
- scrollview 滑动到指定位置,在java代码中设置控件自适应
- Oracle数据库char(7)改为char(36)后,再改为varchar2(36)出现的问题
- Java异常处理:java.lang.ClassCastException: JSON keys must be strings
- Android基本事件的相应——按钮
- Java基础学习第六天——二维数组与面向对象入门