gpt4 book ai didi

java - 不确定我是否正确使用链表进行了递归

转载 作者:行者123 更新时间:2023-12-01 05:04:42 24 4
gpt4 key购买 nike

我试图通过递归找到最长的字符串,虽然我得到了正确的答案,但我不确定我的方法是否是递归。我的主目录中有一个链表,我需要找到最长的链表。我的String最大的方法是“递归”

import java.util.LinkedList;


public class MyLinkedList extends LinkedList<String> {
public static String max="";

public static void main(String[] args) {
// TODO Auto-generated method stub

MyLinkedList myLinkedList = new MyLinkedList();
myLinkedList.add("Sarah");
myLinkedList.add("Barbara");
myLinkedList.add("Tom");
myLinkedList.add("George");
String largest = myLinkedList.findLargestStarter();
String largest1= largest( myLinkedList,0, 1);
System.out.println("Largest "+largest1);
System.out.println("max "+max);

}


public String findLargestStarter()
{
//largest=max;
return null;


}

public static String largest(MyLinkedList myLinkedList, int lowerIndex, int upperIndex)
{
if(lowerIndex == upperIndex) //the size of the sublist // is 1
max= myLinkedList.get(lowerIndex);
else
{
max = largest(myLinkedList, lowerIndex + 1, upperIndex);
if( myLinkedList.get(lowerIndex).length() > myLinkedList.get(upperIndex).length())
max= myLinkedList.get(lowerIndex);
else
max= myLinkedList.get(upperIndex);
}
// System.out.println(max);
return max;
}

}

最佳答案

不逐行进行,您的递归方法最大看起来不错:

  1. 它从 else block 中调用自己。第一个行为得到满足。
  2. 顶部有一个终止条件(您的 if block ),它不会调用自身。第二个行为满意。

我不明白为什么你要把逻辑放在 else block 中对 largest 方法的调用下面。希望您能更好地理解这一点。

关于java - 不确定我是否正确使用链表进行了递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12889457/

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