• 【力扣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;
                
            }
  • 相关阅读:
    wordpress升级需设置ftp的解决方法
    用命令创建MySQL数据库
    MySQL创建用户与授权
    MySQL基本命令和常用数据库对象
    转换说明符和转换说明修饰符
    html-webpack-plugin
    数据库-之MySQL的dos命令
    浅谈Java拆箱、装箱
    Java基础问题10问
    Java单例类
  • 原文地址:https://www.cnblogs.com/h-jang/p/11819612.html
Copyright © 2020-2023  润新知