LeetCode--14. 最长公共前缀(java)

原题链接
思路:先遍历一遍数组,找出所有字符串的最小长度,用 minLen 表示,然后以第一个字符串为出发点,遍历第一个字符串 0—minLen-1范围内的字符,将遍历到的字符与剩下的字符串的对应下标字符相比较

	public String longestCommonPrefix(String[] strs) {
		if(strs == null || strs.length == 0) return "";
		int minLen = Integer.MAX_VALUE;
		for(int i = 0;i < strs.length;i++) {
			if(minLen > strs[i].length()) minLen = strs[i].length(); 
		}
		int index = 0;//截取的位置
		for(int i = 0;i < minLen;i++) {
			char c = strs[0].charAt(i);
			for(int j = 1;j < strs.length;j++) {
				if(strs[j].charAt(i) != c) return strs[0].substring(0, index);
			}
			index++;
		}
		return strs[0].substring(0, index);
    }
发布了48 篇原创文章 · 获赞 4 · 访问量 2949

猜你喜欢

转载自blog.csdn.net/QinLaoDeMaChu/article/details/104063766