zoukankan      html  css  js  c++  java
  • leetcode 1071 字符串的最大公因子

    题目描述:

    对于字符串 S 和 T,只有在 S = T + ... + TT 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。

    返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2

    示例 1:

    输入:str1 = "ABCABC", str2 = "ABC"
    输出:"ABC"
    示例 2:

    输入:str1 = "ABABAB", str2 = "ABAB"
    输出:"AB"
    示例 3:

    输入:str1 = "LEET", str2 = "CODE"
    输出:""

    提示:

    1 <= str1.length <= 1000
    1 <= str2.length <= 1000
    str1[i] 和 str2[i] 为大写英文字母

    解题思路:

    需要知道一个性质:如果 str1 和 str2 拼接后等于 str2和 str1 拼接起来的字符串(注意拼接顺序不同),那么一定存在符合条件的字符串 X

    代码如下:

    class Solution {
        public String gcdOfStrings(String str1, String str2) {
                   if(!str1.concat(str2).equals(str2.concat(str1))) {
    			return "";
    		}
    		else{
    			int length1=str1.length();
    			int length2=str2.length();
    			int size=0;
    			int length=length1>=length2?length2:length1;
    			for(int count=length;count>=2;count--)
    			{
    				if(length1%count==0&length2%count==0)
    				{
    					size=count;
    					break;
    				}
    			}
    			return str1.substring(0, size);
    		}
             }
    }
    

    来源:力扣(LeetCode)

    链接:https://leetcode-cn.com/problems/greatest-common-divisor-of-strings
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 相关阅读:
    jQuery插件编写步骤详解
    原生JavaScript实现JSON合并(递归深度合并)
    js原型链继承及调用父类方法
    codefind.pl
    如何为属性是disabled的表单绑定js事件
    平假名、片假名转换
    #和##在宏替换中的作用
    Perl实用中文处理步骤(修改版)
    Perl Unicode全攻略
    nio DirectByteBuffer如何回收堆外内存
  • 原文地址:https://www.cnblogs.com/longlyseul/p/12482055.html
Copyright © 2011-2022 走看看