14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
substring(0,length),起始位置0,字符串长度length
思路:
- 若存在公共前缀,则一定是在任何一个字符串中存在
- 选取
str[0]最为参照
- 若
str[0].charAt[i]的下标i超出str[j].length,表明str[j]的长度不满足继续搜索最长前缀,则返回
- 若
str[0].charAt[i]不等于str[j].charAt[i],表明当前元素不匹配,前缀匹配结束,则返回
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| package com.wereash.scut_hot100;
import java.util.Scanner;
public class Solution014 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String[] str=scanner.nextLine().split(","); for(int i=0;i<str.length;i++){ str[i]=str[i].substring(1,str[i].length()-1); System.out.print(str[i]+","); } System.out.println(); for(int i=0;i<str[0].length();i++){ char temp=str[0].charAt(i); for(int j=0;j<str.length;j++){ if(i==str[j].length()||temp!=str[j].charAt(i)){ System.out.println(str[0].substring(0,i)); return; } } } System.out.println(str[0]); } }
|