地方网站有何作用,wordpress 文章中图片居中,中铁十二局集团有限公司,网站制作域名是免费的吗1 采用纵向比较的方法#xff0c;即以这个字符串数组的第一个字符串作为参照对象#xff0c;纵向就是同时比较每个字符串的同样位置上的元素是否相同#xff0c;所以外部循环负责控制走到哪个位置了#xff0c;内部循环就把后面要比较的每个字符串的当前位置上的元素拿出来…1 采用纵向比较的方法即以这个字符串数组的第一个字符串作为参照对象纵向就是同时比较每个字符串的同样位置上的元素是否相同所以外部循环负责控制走到哪个位置了内部循环就把后面要比较的每个字符串的当前位置上的元素拿出来比较。
循环结束也就是不比了结束了的条件是要么找到了LCP也就是到了一个有元素大家有不同的位置上那就返回这个位置之前的所有字符要么就是找完了走到要比较的字符串末尾了。如果是第一个被参照的字符串先走到末尾那这个字符串本身就是LCP呀。
2 考虑的几个特殊情况字符串数组为空即不存在最长公共前缀LCP返回“”
字符串数组只有一个字符串LCP就是其本身哦因为这个函数有返回类型所以别忘了这个情况
每个字符串都不没有相同的无LCP返回“”但是如果返回substr(0,0),其实就是“”。
3 substr(a,b)取字符串中下标范围[a,b)跟python很像
class Solution {
public:string longestCommonPrefix(vectorstring strs) {if(strs.size()0){return ;}string res;for(int i0;istrs[0].size();i){char cstrs[0][i];for(int j1;jstrs.size();j){if(c!strs[j][i]||istrs[j].size()){resstrs[0].substr(0,i);return res;}}}return strs[0];}
};