leetcode 14 Longest Common Prefix

###14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
- 最初始的想法是,取第一个string出来,和之后的每一个进行比较,得到第一个String 和之后的String 的common Prefix substring的index,取最小值。在这种情况下,需要考虑一下几点
- 当输入没有string时,return “”
- 当输入只有一个string时,return string[0], 或者将第一个for语句从i=0开始。
1 | class Solution { |
记录下另外一种解法:
- 先对strs进行排序,在这种情况下,只需要比较第一个String和最后一个string
- 这种方法相对于上面的方法,要更快一些(11ms)上面的大概是15、16ms。
1 | class Solution { |
- Arrays.sort()实现的是并归排序,时间复杂度为O(nlogn)
- 排序后是按生序排列的,因此最小的数在第一个,所以这里for循环只需要去i<firs.length()
- 注意: 对于String[] a,想要获得a中string的个数,使用
a.length
,其中想要获得第i个String,使用a[i]
,对于第i个String,想要获得其字符个数,使用a[i].length()
.