最长公共前缀(longestCommonPrefix)
最长公共前缀More info: leetcode14
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,”flow”,”flight”]
输出:”fl”
示例 2:
输入:strs = [“dog”,”racecar”,”car”]
输出:””
解释:输入不存在公共前缀。
提示:
- 1 <= strs.length <= 200
- 0 <= strs[i].length <= 200
- strs[i] 仅由小写英文字母组成
解题思路
先将数组进行按每一项字符的长度进行排序,这样可以保证最长的前缀一定再第一项,如果第一项都不满足,那就没有了.
- 考虑输入的数组的长度为
0, 1
的情况; - 将字符串组按长度排序;
- 设置公共前缀
longestComPre
为排序后的第一项(数组中的最短字符串); - 设置当前遍历的下标
i
; - 利用
while
循环, 循环条件为i < strs.length
; - 不断循环,如果不满足条件就对longestComPre进行调整;
- 最终返回longestComPre即可
具体实现
1 |
|
分析总结
很多时候利用while循环效果更好
最长公共前缀(longestCommonPrefix)
https://zbdev.online/2023/05/10/longestCommonPrefix/