之前一直都有代码重构的想法,但一直没有实践,今天在美团二面的时候,面试官跟我说了,代码不仅仅在正确性、时间复杂度和空间复杂度上要求好,一个好的代码必须要有简洁和可读性,于是开始进行代码重构。
public String longestCommonPrefix(String[] str) {
StringBuilder ret = new StringBuilder();//定义输出结果
if(str.length==0) return ret.toString();
int index = 0, flag = 0;//定义我们的指针index和跳出循环的条件flag
char c = ' ';//定义每次要比较的字符
while (flag == 0) {
if (index > 0) ret.append(c);//从第二次开始表示之前的可以添加入结果
if (str[0].length() > index) c = str[0].charAt(index);//每轮c的赋值初始化
for (int i = 0; i < str.length; i++) {//每轮进行比较本次是否完全相同
if (str[i].length() <= index || str[i].charAt(index) != c) {
flag = 1;
break;
}
}
index++;
}
return ret.toString();
}
之后会陆续将之前写过的代码给重新重构一遍