gpt4 book ai didi

java - 递归地反转字符串数组

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:54 25 4
gpt4 key购买 nike

创建并返回一个新数组,该数组是作为参数传递的数组的反向副本。

我的代码如下。我被算法困住了?这是一道考试题,但考试现在已经结束了。

import java.util.*;

public class Q4_ArrayReverse
{
public static String[] reverse( String[] in )
{
String[] out = new String[ in.length ];
reverse( in, out, 0 );
return out;
}
///////////////////////////////////////////////////////////
//
// Given an input array, an output array and an index,
// copy the element at the index offset of the input array
// to the appropriate reversed position in the output array.
// i.e. in[ 0 ] -> out[ n - 1 ]
// in[ 1 ] => out[ n - 2 ]
// etc.
// After doing the copy for index, recurse for index + 1
// Be sure to quit when you get to the end of the array.
//
//////////////////////////////////////////////////////////
static void reverse( String[] in, String[] out, int index )
{







}

最佳答案

在第二个(当前为空白)方法中,当将索引 indexin.length - index - 1 放入新的 out 数组时,您需要交换它们。当然,您希望对 index + 1 执行相同的操作,除非您位于数组的中间,在这种情况下您已完成并可以返回。

if (index == array.length / 2)  // i.e. 1 position past the middle
return

out[index] = in[in.length - index - 1];
out[in.length - index - 1] = in[index];

reverse(in, out, index+1);

关于java - 递归地反转字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16226398/

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