苦苦于为链表创建替换方法

时间:2014-03-11 23:57:26

标签: java string methods linked-list nodes

我有一个名单链接列表,即:(Mark,Matt,Marten,Brian,Matt)对于我的项目,我正在尝试创建一种方法,用另一个数据替换一个数据并返回替换次数。

这是我们的行为

  • int replace(String oldData,String newData) - 替换所有 使用newData出现oldData并返回所做的替换次数 (列表中找到oldData的次数)。

如何替换链接列表中的字符串并返回替换次数?


编辑:这是我在审查@LuiggiMendoza的回答后试过的:

   public int replace(String oldData, String newData )
     {
     int count = 0;
     StringNode tmp = head;
     while( tmp->next) is not null
     {
       if tmp->data equals to oldData
     {  
         tmp->data = newData
           count = count + 1;
     }
       tmp = tmp->next
     }
       return count;
     }

2 个答案:

答案 0 :(得分:1)

遍历链接列表的节点,检查元素中包含的数据是否等于oldData,并将其替换为newData。另外,使用int counter来了解已更新的节点数。

这是一个伪代码:

int counter = 0
Node tmp = head
while tmp->next is not null
    if tmp->data equals to oldData
        tmp->data = newData
        counter = counter + 1
    end if
    tmp = tmp->next
end while
return counter

答案 1 :(得分:0)

你把它标记为java。但很少有语法不支持java。

public int replace(String oldData, String newData )
{
     int count = 0;
     StringNode tmp = head;
     while( tmp != null)
     {
       if(tmp.data.equals(oldData)
       {  
         tmp.data = newData;
         count = count + 1;
       }
       tmp = tmp.next;
     }
     return count;

   }

在java中尝试此代码。它应该工作。如果数据是您自己的类,则必须覆盖equals方法。因为它是字符串,所以它会起作用。