zoukankan      html  css  js  c++  java
  • leetcode-最长公共前缀

    最长公共前缀

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

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

    示例 1:

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

    示例 2:

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

    说明:

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

    这道题和上一道题str(str())有些相似,都需要设置标记flag,同时有一个不满足就跳出,这里用的是两次跳出break。

    class Solution {
        public String longestCommonPrefix(String[] strs) {
            int len=strs.length;
            String res="";
          if(strs.length==0)return res;
            int count=0;
            int min=Integer.MAX_VALUE;    //从中挑选出最小的字符串比较,如果这个字符串也比较完了,那么不需要比较了
                for(int i=0;i<len;i++){
                    if(strs[i].length()<min)min=strs[i].length();
                }
            while(count<min){    
                  int flag=1;
            for(int i=1;i<len;i++){
                if(strs[i-1].length()==0)return res;
                if(strs[i].charAt(count)!=strs[i-1].charAt(count)){    //只要有一个字符串不满足,2次break,不用比较直接出结果
                    flag=0;
                    break;
                }
                
            }
                if(flag==0) break;
                 res=res+strs[0].charAt(count);   //将公共的前缀加进去
                count++;    //可以比较下一个字符串了
        }
            return res;
        }
    }
  • 相关阅读:
    洛谷P2751 工序安排Job Processing
    UVA 1613 K度图染色
    线段树+扫描线
    分组背包
    洛谷P5506 封锁
    洛谷P2574 XOR的艺术
    List.Sort
    Dict.Count
    Convert.ToString(null) => null
    Convert 输入字符串的格式不正确
  • 原文地址:https://www.cnblogs.com/patatoforsyj/p/9458461.html
Copyright © 2011-2022 走看看