美文网首页
最长公共前缀

最长公共前缀

作者: twilight_mao | 来源:发表于2018-05-05 11:22 被阅读0次

    https://leetcode-cn.com/problems/longest-common-prefix/description/

    题目描述

    编写一个函数来查找字符串数组中的最长公共前缀。
    如果不存在公共前缀,返回空字符串 ""。

    示例

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

    思路

    1.考虑输入为空的情况;
    2.以输入字符串数组的第一个字符串为标杆,其每一位与后面字符串的每一位比较;
    3.如何跳出两层for循环;

    • 直接return
    • 定义一个boolean类型的变量来控制

    4.String、StringBuffer、StringBuilder的区别
    String 字符串常量
    StringBuffer 字符串变量(线程安全)
    StringBuilder 字符串变量(非线程安全)

    代码

    class Solution {
        public String longestCommonPrefix(String[] strs) {
             if(strs.length==0){
                return "";
            }
             StringBuffer s = new StringBuffer();
            String s1 = strs[0];
            for (int i = 0; i < s1.length(); i++) {
                boolean flag= false;
                for (int j = 0; j < strs.length; j++) {
                    if (i >= strs[j].length() || s1.charAt(i) != strs[j].charAt(i)) {
    //                    return s.toString();
                        flag=true;
                        break;
                    }
                }
                if(flag){
                    break;
                }
                s.append(s1.charAt(i));
            }
            return s.toString();
        }
    }
    

    相关文章

      网友评论

          本文标题:最长公共前缀

          本文链接:https://www.haomeiwen.com/subject/hspsrftx.html