先看一下题目描述:
1 public static String longestCommonPrefix(String[] strs) { 2 if (strs.length == 0) 3 return " "; 4 String prefix = strs[0]; 5 for (int i = 1; i < strs.length; i++) { 6 while (strs[i].indexOf(prefix) != 0) { 7 prefix = prefix.substring(0, prefix.length() - 1); 8 if (prefix.isEmpty()) 9 return " "; 10 } 11 } 12 return prefix; 13 14 }
先默认strs[0]是最长公共前缀prefix,然后通过indexOf判断是prefix是否从strs[1]0索引开始,如果不是,则通过substring函数减少一位,直到从0索引开始。时间复杂度为O(N)。
原文地址:https://www.cnblogs.com/qingshan0216/p/9994642.html
时间: 2024-11-09 15:58:50