14. Longest Common Prefix
2016-04-26 10:52
260 查看
题目:
Write a function to find the longest common prefix string amongst an array of strings.
写一个函数找到多个字符串中最长前缀。
描述方法:
假设字符串数组为 { "12345" , "1246" , "1248"},最长前缀为 “12”。
字符串数组声明 char * str[]= { "12345" , "1246" , "1248"};
str[] 表明这是一个数组,char* 表明类型为char*。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char* longestCommonPrefix(char** strs, int strsSize)
{
if(strsSize==0)
return "";
char ** s;
s=strs;//s指向*strs
int strsl=strlen(*s);//多个字符串中的最短长度
int i;
for(i=0;i<strsSize;i++)
{
if(strlen(*s)<strsl)
{
strsl=strlen(*s);
}
s++;
}
char * prefix=(char *)malloc(sizeof(char)*(strsl+1));
int j;
char tem;
s=strs;//s指向*strs
for(i=0;i<strsl;i++)
{
tem=strs[0][i];
for(j=1;j<strsSize;j++)
{
if(tem!=strs[j][i])
break;
}
if(j==strsSize)
prefix[i]=tem;
else
break;
}
prefix[i]='\0';
return prefix;
}
void main()
{
char *strs[] = { "12345" , "1246" , "1248"};
//for(int i=0;i<3;i++)
//{
// printf("%s ",strs[i]);
//}
char * prefix;
prefix=longestCommonPrefix(strs, 3);
printf("%s\n",prefix);
}
Write a function to find the longest common prefix string amongst an array of strings.
写一个函数找到多个字符串中最长前缀。
描述方法:
假设字符串数组为 { "12345" , "1246" , "1248"},最长前缀为 “12”。
字符串数组声明 char * str[]= { "12345" , "1246" , "1248"};
str[] 表明这是一个数组,char* 表明类型为char*。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char* longestCommonPrefix(char** strs, int strsSize)
{
if(strsSize==0)
return "";
char ** s;
s=strs;//s指向*strs
int strsl=strlen(*s);//多个字符串中的最短长度
int i;
for(i=0;i<strsSize;i++)
{
if(strlen(*s)<strsl)
{
strsl=strlen(*s);
}
s++;
}
char * prefix=(char *)malloc(sizeof(char)*(strsl+1));
int j;
char tem;
s=strs;//s指向*strs
for(i=0;i<strsl;i++)
{
tem=strs[0][i];
for(j=1;j<strsSize;j++)
{
if(tem!=strs[j][i])
break;
}
if(j==strsSize)
prefix[i]=tem;
else
break;
}
prefix[i]='\0';
return prefix;
}
void main()
{
char *strs[] = { "12345" , "1246" , "1248"};
//for(int i=0;i<3;i++)
//{
// printf("%s ",strs[i]);
//}
char * prefix;
prefix=longestCommonPrefix(strs, 3);
printf("%s\n",prefix);
}
相关文章推荐
- JAVA在定义一个方法的时候,不用public和用public有什么区别?
- iOS性能优化
- css文件中的样式类被覆盖,js文件中的变量未定义问题问题
- Qt 播放音频文件
- 如何在Github上上传自己的项目
- Suse Linux常用命令
- Android如何查看应用签名信息
- iOS学习笔记73-iOS事件响应链中Hit-Test View的应用
- java之数组排序
- shader forge初级篇|线性差值 lerp
- 要你命三千:老代码中的那些坑
- jQuery siblings()用法实例详解
- 二叉树非递归遍历--前序中序(常用)后序遍历
- Java Serializable
- postgresql体系结构(一)
- ZeroClipboard.js复制内容到剪贴板(跨浏览器)
- log4j 邮件发送
- lof基金
- Linux学习之CentOS6下Mysql数据库的安装与配置
- loadrunner中web_submit_data()和web_submit_form()的区别