最长公共前缀
示例:
输入: ["flower","flow","flight"] 输出: "fl"
解析:以第一个字符串去匹配后面的,不断截取,直到符合要求
class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length == 0){ return ""; } String str = strs[0]; for(int i=1;i<strs.length;i++){ while(strs[i].indexOf(str) != 0){//indexOf,找到包含str就返回起始索引。没找到就返回-1。因为是前缀,所以应该返回0 str = str.substring(0,str.length()-1);//截取0到str.length-1的字符串 } } return str; } }
String类的substring()方法
截取字符串,在java语言中的用法
1、 public String substring(int beginIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
参数:beginIndex - 开始处的索引(包括),
返回:指定的子字符串,
异常:如果 beginIndex 为负或大于此 String 对象的长度,则抛出IndexOutOfBoundsException
例 :"unhappy".substring(2) returns"happy"
"mybaby".substring(3) returns"aby"
2、public String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始, endIndex:到指定的 endIndex-1处结束。
参数:beginIndex - 开始处的索引(包括)
endindex 结尾处索引(不包括)。
返回:指定的子字符串。
抛出:如果 beginIndex 为负,或length大于字符串长度,则抛出IndexOutOfBoundsException
例:"hamburger".substring(3,8) returns "burge"
"smiles".substring(0,5) returns "smile"
java中String.indexOf()用法
查找指定字符或字符串在字符串中第一次出现地方的索引,未找到的情况返回 -1.
例如
String.indexOf(String str) String str1="012345"; String str2="23"; System.out.println( str1.indexOf(str2) ); 输出结果:2。
重载方法有
String.indexOf(String str,int index)
从index的地方开始找,返回第一次出现的索引
String str1="012345012345"; String str2="23"; System.out.println( str1.indexOf(str2,5) );
输出结果:8.