我需要创建一种方法,该方法遍历链接列表中的所有节点,并替换与SEARCH匹配的项,并用REPLACE替换它们。当我尝试“替换”时,我的代码没有任何作用...
我将非常感谢您对已有代码的帮助。
请记住,Node类已经创建
public void replace(String search, String replace)
{
Node current = first;
if (size == 0)
return;
else
{
if (current.item.equals(search))
{
current.item = replace;
current = current.next;
}
replace(search, replace); //Recursive call here
}
}
最佳答案
如果您确实想使用递归来实现它,则必须将当前节点传递给递归方法。
public void replace(String search, String replace) {
replaceRecur(first, search, replace);
}
private void replaceRecur(Node cur, String search, String replace) {
if (cur == null)
return;
if (cur.item.equals(search))
cur.item = replace;
replaceRecur(cur.next, search, replace);
}
关于java - 用一些错误替换链表中的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51592228/