zoukankan      html  css  js  c++  java
  • [JAVA]寻找最长公共前缀

    法1:来源leetcode

     1 class Solution {
     2     public String longestCommonPrefix(String[] strs) {
     3         String ret = "";
     4         
     5         if(strs.length == 0) return ret;
     6         if(strs.length == 1) return strs[0];
     7         
     8         ret = strs[0];
     9         
    10         for(int i = 1; i < strs.length; i++){
    11             while (!strs[i].startsWith(ret)){
    12                 ret = ret.substring(0, ret.length()-1);
    13                 if (ret.length() == 0){
    14                     return "";
    15                 }
    16             }
    17         }
    18         return ret;
    19     }
    20 }

    法2:来源我

     1 class Solution {
     2     public String longestCommonPrefix(String[] strs) {
     3         if(strs.length==0) return "";
     4         String s=new String();
     5         int i=0,j=1;
     6         while(true)
     7         {
     8             if(i>=strs[0].length()) return s;
     9             char t=strs[0].charAt(i);
    10             for(j=1;j<strs.length;++j)
    11             {
    12                 if(i>=strs[j].length()||strs[j].charAt(i)!=t) break;
    13             }
    14             ++i;
    15             if(j==strs.length) s+=t;
    16             else return s;
    17         }
    18     }
    19 }
    原创供学习参考使用,转载请注明出处http://www.cnblogs.com/cuphoria/ @jm_epiphany
  • 相关阅读:
    7-1 N个数求和
    3662. 最大上升子序列和
    树状数组
    堆优化Dijkstra java模板
    皮亚诺曲线距离
    最长公共子序列(计数问题)
    最小路径覆盖
    极角排序
    2619. 询问
    Hessian矩阵与局部极小值
  • 原文地址:https://www.cnblogs.com/cuphoria/p/10043382.html
Copyright © 2011-2022 走看看