题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”
示例一
1 | 输入: ["flower","flow","flight"] |
示例二
1 | 输入: ["dog","racecar","car"] |
所有输入只包含小写字母 a-z 。
题解
思想:我们把字符串数组第一个元素作为比较对象,调用String的函数indexOf(String str)函数,该函数含义是:返回指定子字符串第一次出现的字符串内的索引。
例如:ab abc abd ac
- abc.indexOf(ab)返回0,因为abc包含ab子字符串,且是从第0号索引开始的。
- abd.indexOf(abc)返回-1,因为abd不包含abc子字符串。
如果返回的不为0,我们设置prefix=prefix.substring(0, prefix.length() - 1),然后继续判断是否返回0,不是0,prefix字符串继续从末尾减去一个字符。最终得到的就是最长公共前缀。
代码
1 | public class leetcode14 { |