Leetcode第十四题 最长公共前缀 难度:简单
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明: 所有输入只包含小写字母 a-z 。
1.我的解法
思路:首先传入的字符串数组有三种情况:
 第一种:传入的是个空数组,那么返回””
 第二种:传入的数组只有一个元素,那么返回它本身
 第三种:正常传入多个元素。以第一个元素为基准,依次遍历字符去和后面的元素对应的字符去比较。
 如果各个元素对应位置的字符都相同,那么就将该字符放进StringBuffer中。
 如果遇到不一样的或者异常的情况,就退出比较。返回结果。
class Solution {
    public String longestCommonPrefix(String[] strs) {
        if (strs.length==0){
            return "";
        }
        if (strs.length==1){
            return strs[0];
        }
        StringBuffer resultSb = new StringBuffer();
        a:for (int j=0;j<strs[0].toCharArray().length;j++){
            char flag = strs[0].toCharArray()[j];
            for (int i=1;i<strs.length;i++){
                try{
                    if (flag==strs[i].toCharArray()[j]){
                        if (i==strs.length-1){
                            resultSb.append(flag);
                        }
                    }else{
                        break a;
                    }
                }catch (Exception e){
                    break a;
                }
            }
        }
        return resultSb.toString();
    }
}
2.官方解法
官方题解中用到了String.charAt(int)方法。这个方法是我没有想到的。用到这个方法就可以省去将字符串转换为字符数组的过程,既节约时间,也节约了空间。
//String.charAt(int) 返回在index索引处的字符。 
public char charAt(int index)
