公司网站一定要域名吗,宁波市节约型机关建设考试网站,客户管理软件公司,手机app定制多少钱题目#xff1a; 解题思路#xff1a; 解决本题的关键点是确定扫描的方式#xff0c;大体上有两种方式#xff1a;横向扫描和纵向扫描。 1、横向扫描#xff1a;首先比较第一个字符串和第二个字符串#xff0c;记录二者的公共前缀#xff0c;然后用当前公共前缀与下一个…题目 解题思路 解决本题的关键点是确定扫描的方式大体上有两种方式横向扫描和纵向扫描。 1、横向扫描首先比较第一个字符串和第二个字符串记录二者的公共前缀然后用当前公共前缀与下一个字符串再次比较得出新的公共前缀重复过程直到所有字符串完成比较或者中间过程中得到的公共前缀为空串时停止并返回。 2、纵向扫描共进行k轮比较k大小不超过第一个字符串的长度因为最长公共前缀不可能比传入的字符串还长。在每一轮比较中对所有字符串的第k位进行比较如果出现不同证明当前比较位前面的字符串为最长公共前缀对最长公共前缀进行返回否则比较下一轮。完成所有轮比较后仍要进行一次返回此时每个字符串及最长公共前缀都相同。 在函数中采用纵向扫描。动态开辟了空间用作返回最长公共前缀这块空间的大小没有去求字符串的长度来决定根据提示中的信息取了一个长度最大值200能够满足所有情况。这里利用将返回地址中提前存入第一个字符串、过程中判断并修改\0来实现对最长公共前缀的存储。 
代码 
char *longestCommonPrefix(char **strs,int strsSize)
{if(strsSize  0){return ;}char *returnStr  (char *)malloc(200);strcpy(returnStr,strs[0]);for(int j  0; j  strlen(strs[0]); j){for(int i  1; i  strsSize; i){if(returnStr[j] ! strs[i][j]){returnStr[j]  \0;return returnStr;}}}return returnStr;
}