欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-24 22:51:22
...

题目来源:https://leetcode-cn.com/problems/longest-common-prefix/description/

题目描述: 

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

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

示例 1:

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

示例 2:

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

说明:

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

 代码如下:

class Solution {
	public String longestCommonPrefix(String[] strs) {
		//公共前缀字符串的长度
		int index = 0;
		//如果字符串数组长度为零,则返回""
		if (strs.length == 0) {
			return "";
		}
		//外层for循环是遍历字符串数组中第一个字符串的每个字符
		for (int i = 0; i < strs[0].length(); i++) {
			//得到第一个字符串的第i个字符
			char current = strs[0].charAt(i);
			//内层foreach循环是拿current与每个字符串的第i个字符进行比较
			for (String str : strs) {
				//比较过程中发现有不相等字符,或者有某个字符串的长度达到了i。
				//则停止比较,返回第一个字符串中的公共部分,即(0,index)
				if (str.length() == i || current != str.charAt(i)) {
					return str.substring(0, index);
				}
			}
			index++;
		}
		return strs[0].substring(0, index);
	}
}