题目描述
- 最长公共前缀
难度:简单
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
1 2 3
| 输入:strs = ["flower","flow","flight"] 输出:"fl"
|
示例 2:
1 2 3
| 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。
|
解法
- 纵向扫描
- 选取第一个字符串作为标准向下进行比较
- 每次比较一个字符
- 如果出现比较的下标与某个字符串相等,直接返回
- 比较出现不相等的字,直接返回
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution { public String longestCommonPrefix(String[] strs) { for (int i = 0; i < strs[0].length(); i++) { char tmp=strs[0].charAt(i); for (int j = 1; j < strs.length; j++) { if(i==strs[j].length()||tmp!=strs[j].charAt(i)){ return strs[0].substring(0, i); } } } return strs[0]; } }
|
来源:力扣(LeetCode)
链接:14. 最长公共前缀 - 力扣(LeetCode) (leetcode-cn.com)