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

10-13 09:29