题目:https://leetcode-cn.com/problems/longest-common-prefix/comments/
代码:
class Solution {
public String longestCommonPrefix(String[] strs) {
int minLength = Integer.MAX_VALUE;
for (String str : strs) {
minLength = str.length() < minLength ? str.length() : minLength;
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < minLength; i++) {
Character c = null;
for (String str : strs) {
if (c == null) {
c = str.charAt(i);
} else if (c != str.charAt(i)) {
c = null;
break;
}
}
if (c == null) {
break;
}else{
sb.append(c);
}
}
return sb.toString();
}
}
思路:
1、遍历所有字符串,一个字符一个字符进行比较,为了避免有数组越界的情况出现。所以先求出strs中所有字符串的最短的长度minLength。
2、定义索引i,从0到minLength进行逐个遍历,碰到有一个字符串在索引i的位置跟其他人不一样,就退出。