给定一个String类型数组,要求写一个方法,返回数组中这些字符串的最长公共前缀。
方法一:
import java.util.Scanner;
import java.util.logging.Logger;PortableInterceptor.SYSTEM_EXCEPTION;public class Solution {public static String longestCommonPrefix(String[] strs) {if (strs.length == 0) return "";for (int j = 0; j < strs[0].length(); ++j){ // 纵向扫描for (int i = 1; i < strs.length; ++i){if (j == strs[i].length() ||strs[i].charAt(j) != strs[0].charAt(j))return strs[0].substring(0, j);}}return strs[0];}public static void main(String[] args) {String strs[] = new String[]{"abcdefg","abcef","abcdeabcg"};System.out.println(longestCommonPrefix(strs));
}
}
方法二:
public String longestCommonPrefix(String[] strs) {String result = strs.length==0?"":strs[0];for(int j=0;j<strs.length;j++){result = commonPrefix(result,strs[j]);}return result;}private String commonPrefix(String origin,String target){StringBuffer sb = new StringBuffer();int loop = origin.length()>=target.length()?target.length():origin.length();for(int i=0;i<loop;i++){if(origin.charAt(i) == target.charAt(i)){sb.append(origin.charAt(i));}else{break;}}String();}
本文发布于:2024-01-27 23:04:51,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063678913180.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |