gpt4 book ai didi

java - 如何反转放置 2/3 堆的字符串?

转载 作者:行者123 更新时间:2023-11-30 06:07:17 24 4
gpt4 key购买 nike

最近我接受了一次采访,我被问到一个奇怪的(至少对我来说)问题:

我应该编写一个可以反转字符串的方法。

public static String myReverse(String str){
...
}

问题是 str 是一个非常非常大的对象(内存的 2/3)。

我想只有一种解决方案:

创建一个新字符串,我将在其中存储结果,然后反转源字符串的 1/2。使用反射后,清除源字符串底层数组的后半部分(已经反转),然后继续反转。

我说得对吗?

还有其他解决方案吗?

最佳答案

如果您无论如何都在使用反射,则可以访问字符串的底层字符数组并将其反转,方法是从两端遍历并交换两端的字符。

public static String myReverse(String str){
char[] content;
//Fill content with reflection

for (int a = 0, b = content.length - 1; a < b; a++, b--) {
char temp = content[b];
content[b] = content[a];
content[a] = temp;
}

return str;
}

很遗憾,我想不出不使用反射的方法。

关于java - 如何反转放置 2/3 堆的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41821842/

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