【发布时间】:2015-09-29 02:00:07
【问题描述】:
问题陈述: 从有序链表中删除重复值节点
输入格式:
您必须完成 Node* RemoveDuplicates(Node* head) 方法,该方法接受一个参数 - 排序链表的头部。您不应该从标准输入/控制台读取任何输入。
输出格式:
删除尽可能少的节点,以确保没有两个节点具有相同的数据。调整next指针,保证剩余节点形成一个单一的排序链表。然后返回排序后更新链表的头部。
我的代码:
Node RemoveDuplicates(Node head) {
Node n = head;
while(n.next!=null){
Node test = n.next;
while(n.data==test.data){
if(test.next!=null){
n.next = test.next;
test = n.next;
}
else{
n.next = null;
}
}
if((n.next!=null)){
n = n.next;
}
}
return head;
}
经过测试,它运行良好,除非最后一个节点的值等于前一个节点的值。我在我的代码中找不到错误。
测试结果:
第一个 int 是测试用例的数量,第二个 int 是列表中的节点数。
问题已处理from HackerRank。
【问题讨论】:
标签: java data-structures linked-list