系统运维

【字符串处理算法】获取最长公共子串的算法设计及C代码实现

时间:2010-12-5 17:23:32  作者:数据库   来源:IT科技类资讯  查看:  评论:0
内容摘要:一、需求描述输入两个字符串,编写程序获取这两个字符串的***个最长公共子串。例如,输入的字符串为“abcdef”和“fecdba”,那么这两个字符串的***个最长公共子串为“cd”。二、算法设计我们可

一、字符需求描述

输入两个字符串,串处长编写程序获取这两个字符串的理算***个最长公共子串。

例如,法获法设输入的取最字符串为“abcdef”和“fecdba”,那么这两个字符串的共串***个最长公共子串为“cd”。

二、算C代算法设计

我们可以首先寻找两个字符串中的计及***个相等的字符,然后分别向后移动来比较对应位置的码实字符是否相等。源码库

即如果字符串1为“1234abcd”,字符字符串2为“abd”,串处长那么首先发现字符串1中的理算第五个字符“a”与字符串2中的***个字符“a”相等,接着字符串1中的法获法设第六个字符“b”与字符串2中的第二个字符“b”相等,再接着发现字符串1中的取最第七个字符“c”与字符串2中的第三个字符“d”不相等,此时比较结束。共串也就是说字符串1和字符串2的最长公共子串为“ab”。亿华云

三、特殊流程考虑

在编写程序的过程中,我们要对输入的字符串的长度及格式多做考虑,如:

1.如果输入的两个字符串之一含有中文字符,那么程序直接返回而不执行后续流程。

2.如果输入的两个字符串之一含有空格,那么程序获取空格之前的字符串进行后续操作。

四、程序代码

/亿华云计算
copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap