zoukankan      html  css  js  c++  java
  • 【力扣14】最长公共前缀

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

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

    示例 1:

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

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

    这道题挺简单的 但是边界一直没找准 所以改了又改错了几次

    双指针 j指针为字符串的每个字母   k从第二个字符串开始遍历

    如果  strs[0][j] == strs[k][j] 那么k++ 直到遍历整个strs

    如果不相等则退出两层循环 如果一直相等则j++

    如果出现{"aa","a"}这种测试 前一个要比后一个长的情况 会出现数组越界 所以再加一个if条件

    当j已经和str[k]的长度相等时 那么直接退出 (因为不会再有公共前缀了)

    public string LongestCommonPrefix(string[] strs)
            {
                bool flag = true;
                string s = "";
                //测试为空{ }
                if (strs.Length == 0)
                    return "";
    
                for(int j = 0; j < strs[0].Length; j++) 
                { 
                    for(int k = 1; k < strs.Length;)
                    {
                        //测试{"aa","a"} 
                        if (j == strs[k].Length)
                        {
                            flag = false;
                            break;
                        }
                            
                        if (strs[0][j] == strs[k][j])
                            k++;
                        else
                        {
                            flag = false;
                            break;
                        }
                    }
                   if(flag == true)
                    {
                        s = s + strs[0][j];
                    }
                    else
                    {
                        break;
                    }
    
                }
                return s;
                
            }
  • 相关阅读:
    虚拟机中安装CentOS7
    tensorflowwindows安装
    CentOS7离线安装Ambari与HDP
    (二)apache atlas配置和运行
    kafka资料收集
    kafka源代码环境配置
    文件传输遇到的坑
    故障保护设置
    多轴APM调参
    程序员考试操作步骤
  • 原文地址:https://www.cnblogs.com/h-jang/p/11819612.html
Copyright © 2011-2022 走看看