gpt4 book ai didi

java - 显示将给定字符串转换为另一个字符串(字谜)的所有步骤

转载 作者:行者123 更新时间:2023-11-30 03:55:56 26 4
gpt4 key购买 nike

面试问题给定两个输入字符串,您只能交换字符串中的两个连续元素。您必须展示将一个字符串转换为另一个字符串的所有步骤(两个字符串将是彼此的字谜)。例如。口香糖到马克杯

古姆百货公司通用汽车大学微量气体发生器杯子

其代码如下所示。

public static void main(String[] args){
char a[] = "GUM".toCharArray();
char b[] = "MUG".toCharArray();
char temp;
int n = b.length;
int j, i = 0;
while(n > i) {
j = i;
System.out.println(a);
while(a[j] != b[i]) {
j++;
}
while(j > i) {
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
System.out.println(a);
j--;
}
i++;
}
}
}

输出如下。

GUM
GMU
MGU
MGU
MUG
MUG

有人可以帮我删除上述代码中的重复步骤吗?或者还有其他更好的方法吗?

最佳答案

您做得正确。只需删除

System.out.println(a);

之前while(a[j] != b[i])

并在顶部 while 循环之前添加相同的内容。重复的原因 - 您已经在最后一个 while 循环中显示了更改。

char a[] = "GUM".toCharArray();
char b[] = "MUG".toCharArray();
char temp;
int n = b.length;
int j, i = 0;

System.out.println(a);
while (n > i) {
j = i;
while (a[j] != b[i]) {
j++;
}
while (j > i) {
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
System.out.println(a);
j--;
}
i++;
}

关于java - 显示将给定字符串转换为另一个字符串(字谜)的所有步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23188094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com