【发布时间】:2020-06-17 12:49:51
【问题描述】:
所以在课堂上我们被要求读一个文本文件。格式是这样的:
a b ( c d ( e f ) g ) h
我们需要像这样构建一个嵌套链表:
一个
b
.....c
.....d
.......e
.......f
.....g
h
每个左括号表示向下移动一个级别,然后一个右括号表示向后移动一个级别。 所以,a 链接到 b,b 有一个嵌套链接到 c,c 链接到 d,d 有一个嵌套链接到 e,e 链接到 f,d 链接到 g,然后 b 链接到 h
我们正在使用修改后的 LLNode:
公共类 LLNode {
protected LLNode<T> link;
protected LLNode<T> nested;
protected T info;
public LLNode(T info)
{
this.info = info;
link = null;
nested = null;
}
public void setInfo(T info)
{
this.info = info;
}
public T getInfo()
{
return info;
}
public void setLink(LLNode<T> link)
{
this.link = link;
}
public LLNode<T> getLink()
{
return link;
}
public void setNested(LLNode<T> nested)
{
this.nested = nested;
}
public LLNode<T> getNested()
{
return nested;
}
}
我们需要使用递归来读取输入文件,为每个字母创建节点并相应地链接它们。我不知道如何递归处理这个问题。非常感谢任何帮助。
【问题讨论】:
标签: java list recursion linked-list nested