gpt4 book ai didi

java - 哪个代码效率更高?

转载 作者:行者123 更新时间:2023-11-29 03:52:51 25 4
gpt4 key购买 nike

以下哪项是反转字符串中单词的有效方法?

public String Reverse(StringTokenizer st){
String[] words = new String[st.countTokens()];
int i = 0;
while(st.hasMoreTokens()){
words[i] = st.nextToken();i++}

for(int j = words.length-1;j--)
output = words[j]+" ";}

public String Reverse(StringTokenizer st, String output){        
if(!st.hasMoreTokens()) return output;
output = st.nextToken()+" "+output;
return Reverse(st, output);}

public String ReverseMain(StringTokenizer st){
return Reverse(st, "");}

虽然第一种方式看起来更具可读性和直接性,但其中有两个循环。在第二种方法中,我尝试以尾递归方式进行。但是我不确定java是否确实优化了尾递归代码。

最佳答案

你可以在一个循环中完成这个

public String Reverse(StringTokenizer st){
int length = st.countTokens();
String[] words = new String[length];
int i = length - 1;
while(i >= 0){
words[i] = st.nextToken();i--}
}

关于java - 哪个代码效率更高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7884110/

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