zoukankan      html  css  js  c++  java
  • 编写一个函数来查找字符串数组中的最长公共前缀。(每天一道防止痴呆)

    题目:

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

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

    示例 1:

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

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/longest-common-prefix
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    package com.wxp.Dynamicprogramming;
    /**
     * 字符串的最长公共前缀
     * @author amarsoft
     *
     */
    public class Leetcode14 {
        public static void main(String[] args) {
            String [] s = {"dog","racecar","car"};
        String result =    longestCommonPrefix(s);
        System.out.println(result);
        }
        public static String longestCommonPrefix(String[] strs) {
            if(strs.length==0) {
                return "";
            }
            String temp = strs[0];//取第一个字符数组为暂存
            for (int i = 0; i < strs.length; i++) {
                int j =0;
                //循环比较第二个和第一个比较之后的公共部分,在和第三个比较就是整个数组中字符串最长的公共部分。
                for(;j<temp.length()&&j<strs[i].length();j++) {
                    if(temp.charAt(j)!=strs[i].charAt(j)) {
                        break;
                    }
                }
                temp = temp.substring(0, j);
            }
         return temp;
     }
        /**
         * 方法二,运行时间较短
         * @param strs
         * @return
         */
         public String longestCommonPrefix2(String[] strs) {
                if(strs.length==0) return "";
                String str=strs[0];
                for(int i=1;i<strs.length;i++){
                    while(strs[i].indexOf(str)!=0){
                        str=str.substring(0,str.length()-1);//如果字符串不匹配则长度减一继续
                        }
                    }
                    return str;
                }
        
    }
  • 相关阅读:
    qt捕鱼达人
    linux通过源码安装gdb
    打造简易http服务器
    linux缓存同步
    NOI之后的碎碎念
    Validate至少有一个不能为空
    IOI 2020 集训队作业
    P6033 [NOIP2004 提高组] 合并果子 加强版 题解
    P3017 [USACO11MAR]Brownie Slicing G 题解
    LOJ #145. DFS 序 2 题解
  • 原文地址:https://www.cnblogs.com/hnwxp/p/12145000.html
Copyright © 2011-2022 走看看