问题
Array#findLongestCommonPrefix
定义扩展方法Array<String>#findLongestCommonPrefix
:
1 | fun findLongestCommonPrefix(): String{ |
单元测试
1 |
|
解法
- 当字符串数组为空时,直接返回 “”
- 令公共字符串前缀
prefix
为first()
- 遍历从 1 到
count()
的字符串cur
,然后找出cur
与prefix
公共前缀,最终结果即为最长公共前缀 - 如果查找过程中
prefix
为空,则不存在公共前缀,直接返回 “” - 时间复杂度:O(s),s 为所有字符串长度之和
代码:
1 | /** |