题解 | #名字串生成II# java

名字串生成II

https://www.nowcoder.com/practice/a90b0c33344e4b8488fe0b376de3205d

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param str1 string字符串
     * @param str2 string字符串
     * @return string字符串
     */
    public String lcmOfStrings (String str1, String str2) {
        // write code here
        String s = "";
        if (str1.length() > str2.length()) {
            String temp = str1;
            str1 = str2;
            str2 = temp;
        }

        for (int i = 0; i < str1.length(); ++i) {
            if (str1.charAt(i) != str2.charAt(i)) {
                return s;
            }
        }
        s = str1;

        while (str1.length() < str2.length()) {
            str1 += s;
        }

        return str1;
    }
}

Java语言

主要考察以下知识点:

  1. 字符串操作
  2. 字符串长度和交换
  3. 最小公倍数

下面是代码的文字解释:

  1. 定义了一个名为 lcmOfStrings 的函数,接受输入参数 str1 和 str2(两个字符串)。
  2. 在函数内部,首先创建了一个空字符串 s 用于存储最小公倍数字符串。
  3. 针对字符串长度的比较,如果 str1 的长度大于 str2,则通过交换它们,保证 str1 长度不大于 str2。这是为了后续循环遍历时保持一致性。
  4. 使用循环遍历了两个字符串的相同位置,逐个比较字符。如果发现相同位置上的字符不相等,说明无法生成最小公倍数字符串,直接返回空字符串。
  5. 如果遍历完成后,说明两个字符串在相同位置上的字符都相等,将 str1 赋值给 s,作为初始的最小公倍数字符串。
  6. 使用循环,将 str1 连接到自身,直到其长度不小于 str2 的长度。这是为了构建最小公倍数字符串的过程,由于字符串在 Java 中是不可变的,每次连接都会生成新的字符串对象。
  7. 最终返回拼接后的 str1,它就是两个字符串的最小公倍数字符串。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 11:30
仁者伍敌:kpi都懒得刷了属于是
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-24 19:27
云南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务