赞
踩
题目:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
解题思路
拿第一个字符串当模板,然后从它第一个字符串开始跟后边所有的字符串的第一个字符串匹配,直到匹配到不符合的,那么结束遍历。
那么将第一个字符串的当前位置赋值’\0’,表示字符串结束。 这样返回第一个字符串的话就可以将结束标志之前的字符串读出作为最长公共前缀。
代码
char * longestCommonPrefix(char ** strs, int strsSize){
if(strsSize==0){
return "";
}
for(int i=0;i<strlen(strs[0]);i++){
for(int j=1;j<strsSize;j++){
if(strs[0][i]!=strs[j][i]){
strs[0][i]='\0';
return strs[0];
}
}
}
return strs[0];
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。