力扣(LeetCode) 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

Java版

思想 所有的字符串与第一个比较,纵向比较

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs==null ||  strs.length==0) {
			return "";
		}
		if(strs.length==1) {
			return strs[0];
		}
		int i,j;
		char[] cs = strs[0].toCharArray();
		StringBuilder sb = new StringBuilder("");
        boolean flag = true;
		for(i=0;i<cs.length && flag;i++) {
			
			for(j=1; j<strs.length;j++) {
				if((i+1)>strs[j].length()) {
					flag =false;
					break;
				}
				if(i<  strs[j].length() && cs[i]!=strs[j].charAt(i)) {
					flag =false;
					break;
				}
			}
			if(flag && j==strs.length) {
				//System.out.println("i=="+i+"时添加一次");
				sb.append(cs[i]);
			}
			
		}
		
        return sb.toString();
    }
}

运行结果

posted @ 2019-04-08 23:37  lick  阅读(231)  评论(0编辑  收藏  举报