用一些错误替换链表中的方法

时间:2018-07-30 10:45:13

标签: java replace linked-list

我需要创建一种方法,该方法遍历链接列表中的所有节点,并替换与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
    }
}

1 个答案:

答案 0 :(得分:1)

如果您真的想使用递归来实现它,则必须将当前节点传递给递归方法。

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);
}