赞
踩
题目来源: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);
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。