简单题--
var longestCommonPrefix = function(strs) {
if(strs=="") return "";
if(strs.length==1) return strs[0];
for(i=0;i<strs.length;i++){ //用strs[0]来表示长度最小的一个字符串
if(strs[i]=="") return ""; //js中怎样终止程序运行?
if(strs[0].length>strs[i].length){
temp=strs[0];
strs[0]=strs[i];
strs[i]=temp;
}
i++;
}
for(i=1;i<strs.length;++i){ //针对每一个strs[i]
var j;
for(j=0;j<strs[0].length;j++){ //strs[0]的每一个字符与strs[i]的每一个字符比较
if(strs[0].charAt(j)!=strs[i].charAt(j)){
break;
}
}
strs[0]=strs[0].substring(0,j);
}
return strs[0];
};
纠结很久的原因在于错把if当作一个循环条件,以为if就是跳出了for(j......)的循环!!要仔细啊!!!
注意:break语句在js中与在c++中一致,都是跳出一层循环!!!