我知道 substring 是如何工作的,但我试图了解它在下面的代码中是如何工作的。目标是在字符串数组中找到最长的公共前缀。输入的字符串是 {flower, flow, fleece}。看起来 substring 每次都只是取花的整个词,当它不为 0 时,因为 0 到 length-1 将给出整个词。
public String longestCommonPrefix(String[] strs) {
if (strs.length == 0) return "";
String prefix = strs[0];
for (int i = 1; i < strs.length; i++)
while (strs[i].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) return "";
}
return prefix;
}
输出为 fl。我只是想了解为什么。
蝴蝶刀刀
呼唤远方
有只小跳蛙
相关分类