基于Visual C++2013拆解世界五百强面试题--题13-找最大公共子字符串
来源:互联网 发布:中国历年通胀率数据 编辑:程序博客网 时间:2024/05/17 18:01
编程实现:找出两个字符串中最大公共子字符串,如"abccade"和"dgcadde"的最大子字符串为"cad"。
如果不考虑效率的话直接比较,设置一个指针指向最大公共字符串,一个变量保存最大公共子字符串的长度。
然后用第二个字符串的所有子字符串和第一个字符串的所有子字符串比较,将最大相同子字符串信息保存在上面两个变量中。
下面看代码:
#include <stdio.h> #include <string.h>void fun(char *str1, char *str2){int nLength = 0;//保存最大子字符串长度char *pStr = NULL;//保存最大子字符串起始指针int str1Length = strlen(str1);int str2Length = strlen(str2);for (int i = 0; i < str1Length; i++){for (int j = 0; j < str2Length; j++){int k;for (k = j; k < str2Length; k++){if (i + k >= str1Length){break;}else{if (str1[i + k] != str2[k]){break;}}}if (k - j > nLength){nLength = k - j;pStr = str2 + j;}}}if (pStr){//如果有最大公共子字符串,则保存到buf变量中输出char buf[256] = { 0 };strncpy(buf, pStr, nLength);printf("最大公共子字符串: %s \n", buf);}else{printf("没有公共子串! \n");}}int main(){//传入字符串以和字符串2fun("abccade", "dgcadde");return 0;}
运行结果:
如果有什么问题和疑问可以在下面留言互相探讨。
原题我已经上传到这里了http://download.csdn.net/detail/yincheng01/6461073 ,
解压密码为 c.itcast.cn
- 基于Visual C++2013拆解世界五百强面试题--题13-找最大公共子字符串
- 基于Visual C++2013拆解世界五百强面试题--题4-double转换成字符串
- 基于Visual C++2013拆解世界五百强面试题--题10-找出N个数种最大的K个数
- 基于Visual C++2013拆解世界五百强面试题--题1-定义各种类型指针
- 基于Visual C++2013拆解世界五百强面试题--题3-打印螺旋数组
- 基于Visual C++2013拆解世界五百强面试题--题5-自己实现strstr
- 基于Visual C++2013拆解世界五百强面试题--题6-double类型逆序
- 基于Visual C++2013拆解世界五百强面试题--题11-查找数字出现次数
- 基于Visual C++2013拆解世界五百强面试题--题12-进制转换
- 基于Visual C++2013拆解世界五百强面试题--题14-循环删除
- 基于Visual C++2013拆解世界五百强面试题--题15-递归相加
- 基于Visual C++2013拆解世界五百强面试题--题16-进制分析
- 基于Visual C++2013拆解世界五百强面试题--题17-程序结果分析1
- 基于Visual C++2013拆解世界五百强面试题--题1-定义各种类型指针
- 基于Visual C++2013拆解世界五百强面试题--题7-链表的各种操作
- 基于Visual C++2013拆解世界五百强面试题--题8-数组的排序和查找
- 基于Visual C++2013拆解世界五百强面试题--题9-找出所有的排列方式
- 基于Visual C++2013拆解世界五百强面试题--题18-程序结果分析2-终结篇
- Python:中文处理小结
- poj1012
- 详细介绍TreeSet的自然和定制两种排序
- Jar或Jboss里无法读取配置文件
- 一道网络相关面试题
- 基于Visual C++2013拆解世界五百强面试题--题13-找最大公共子字符串
- 世界上没有后悔药
- 编程难巧试题之整束
- 内核proc文件系统与seq接口(2)---内核proc文件系统编程接口
- Git常用命令解说
- 几个小笑话,笑福就是
- busybox1--编译
- object-c之performSelector学习
- POJ 2106 / México and Central America 2004 Boolean Expressions (用栈处理表达式)