获取两个字符串之间最长公共字符串的函数
2012-11-27 18:14
253 查看
#-----------------------------------------------------------#
# 返回两个字符串中连续相同的最长的一部分 #
#-----------------------------------------------------------#
# 返回两个字符串中连续相同的最长的一部分 #
#-----------------------------------------------------------#
function getlongcom( $str1, $str2 ) { $finalstr = ''; //最终返回的字符串 $Fstr = (strlen( $str1 ) <= strlen( $str2 )) ? $str2 : $str1; //长字符串为父串 $Sstr = (strlen( $str1 ) <= strlen( $str2 )) ? $str1 : $str2; //短字符串为子串 $Sstrlen = strlen( $Sstr ); //子串的长度 for ( $i = 0; $i < $Sstrlen; $i++ ) { $comstr = ''; //重置当前公共的字符串 $cutstr = substr( $Sstr, $i ); //当前截取的字符串 $cutstrlen = strlen( $cutstr ); //当前截取的字符串长度 for ( $j = 0; $j < $cutstrlen; $j++ ) { $comstr.=$cutstr[$j]; if ( is_int( strpos( $Fstr, $comstr ) ) && strlen( $comstr ) > strlen( $finalstr ) ) { $finalstr = $comstr; } } } return$finalstr; }//测试代码
$str1 = "aabcbcb"; $str2 = "aabcbabbcbacbcbb"; echo getlongcom( $str1, $str2 );
相关文章推荐
- 【每天学点算法题10.15】获取两个字符串之间最长公共子串的长度
- 获取两个字符串之间最长公共子串的长度
- 获取两个字符串之间最长公共字符串的算法(PHP)
- 面试经典题用JS函数写出,输出两个字符串最长的公共部分
- 编写函数,获取两段字符串的最长公共子串的长度
- 问题:求两个字符串的最长公共子串。 要求:输入两个字符串,输出它们的最长公共子串,包括长度。 设计: 设计一个类 String,包括一个 len(字符串长度)和字符串指针 s。另有如下成员函数: ·
- 获取两个字符串中最长的公共字符串
- JavaScript自定义函数实现查找两个字符串最长公共子串的方法
- 求两个字符串S和T的一个最长公共字串
- 用后缀数组求两个字符串的最长公共子串
- PHP实现求两个字符串最长公共子串的方法示例
- MATLAB获取字符串中两个特定字符之间的内容
- 查找两个字符串a,b中的最长公共子串
- 求两个字符串最长公共子串LCS(其它)
- 最长公共子串序列一之 两个字符串的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- 求两个字符串的最长的连续公共子串(按位异或法)
- LCS算法找出两个字符串最长公共子串(C#实现)
- 求两个字符串的最长的连续公共子串和求两个字符串的公共子序列
- 求两个字符串中间最长的公共子串