我有一个名单链接列表,即:(Mark,Matt,Marten,Brian,Matt)对于我的项目,我正在尝试创建一种方法,用另一个数据替换一个数据并返回替换次数。
这是我们的行为
如何替换链接列表中的字符串并返回替换次数?
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;
}
答案 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方法。因为它是字符串,所以它会起作用。