最长公共前缀

2019-11-29  本文已影响0人  二进制的二哈

题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix

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

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

示例 1:

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

示例 2:

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

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

Java代码:

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 1)
            return strs[0];
        if(strs.length > 0){
            StringBuffer sb = new StringBuffer();
            int index = 0;
            char tmp = ' ';
            while(true){
                for(int i = 0;i<strs.length;i++){
                    String s = strs[i];
                    if(s.length() <= index)
                        return sb.toString();
                    if(tmp == ' '){
                        tmp = s.charAt(index);
                    }else{
                        if(tmp !=s.charAt(index))
                            return sb.toString();
                    }
                }
                sb.append(strs[0].charAt(index));
                tmp = ' ';
                index++;
            }
        }
        return "";
    }
}
上一篇 下一篇

猜你喜欢

热点阅读