• 【力扣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;
                
            }
  • 相关阅读:
    随感
    to Live On
    记Weblogic部署BUG(websocket)
    CentOS更换yum源配置
    Java-14常用类-03=String类详解
    大牛博客推荐
    java-14常用类-02=Java中的String类
    npm-02 修改NPM下载地址(转换地址与下载源)
    selenium-10 selenium原理+ide录制+文件上传+弹框处理
    测试基础介绍
  • 原文地址:https://www.cnblogs.com/h-jang/p/11819612.html
Copyright © 2020-2023  润新知