P014 Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
思路分析
题目本身并不难,最直观的就是逐个字符比较。操作下标很费劲。
代码
java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class Solution014 { public String longestCommonPrefix(String[] strs) { StringBuilder sb = new StringBuilder(); if (strs == null || strs.length == 0) return ""; if (strs.length == 1) return strs[0]; for (int i = 0; i < strs[0].length(); i++) { char c = strs[0].charAt(i); for (int j = 1; j < strs.length; j++) { if (strs[j].length() == i || c != strs[j].charAt(i)) { return sb.toString(); } } sb.append(c); } return sb.toString(); } }
|
python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution014(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ l = len(strs) if not strs or l == 0:return "" if l == 1:return strs[0] ret = "" for i in range(0, len(strs[0])): c = strs[0][i] for j in range(1, l): if len(strs[j]) == i or c != strs[j][i]: return ret ret += c; return ret
|