删除排序的链表代码中的重复项不起作用。这是什么错误?

Muthuvalli

删除排序的链表代码中的重复项不起作用。这是什么错误?

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        if(head==NULL || head->next==NULL)return head;
        ListNode* curr=head;
        while(curr!=NULL)
        {
            while(curr->val==curr->next->val){
                curr->next=curr->next->next;
            }
            curr=curr->next;    
        }
        return head;
    }
};

http://notes.io/qs1p

蒂姆·比格莱森(Tim Biegeleisen)

您对删除重复项的逻辑有疑问。将您的while循环更改为此:

    while (curr != NULL) {
        ListNode* index = curr;
        while (curr->val == index->next->val) {  // check for multiple possible duplicates
            index = index->next;                 // and advance index to last duplicate
        }
        curr->next = index->next;                // splice out the duplicate (if it exists)
        curr = curr->next;                       // advance pointer
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

这是什么错误?Ctrl + Alt + t也不起作用

在排序的双向链表中拒绝重复项的最佳方法是什么

删除合并排序的链表中的重复项

我知道此代码不起作用,为什么我找到的代码起作用?是什么使错误的代码错了?

这是 setState 不起作用的问题是什么?

尝试修复程序中的错误,以删除链表中的重复项

标记方号的代码不起作用,这是为什么?

从数组中随机选择的项目中删除重复项在javascript中不起作用

链表中显示节点的代码不起作用

从链表中删除偶数在尾节点上不起作用?

链表(在C中)为什么不起作用

在Java中的链表中删除重复项

为什么我的排序代码不起作用?

链表删除重复项

递归删除链表中的重复项

如何从循环链表中删除重复项

使用js删除链表中的重复项

为什么此摇床排序代码在C中不起作用

使用 C++ 中的映射解决“从未排序的链表中删除重复项”时的 TLE

当修剪不起作用时,如何从Excel单元格中删除空格的公式是什么?

编码重复的单词在代码中不起作用?

如何对链表进行排序并删除任何重复项

当将它们链接在一起时,为什么此重复数据删除代码不起作用?

为什么命令级联删除在我的代码中不起作用

代码不起作用:在 ocaml 中对数组进行排序

sqrt()函数在c中不起作用我的数学错误是什么?

MySQL:从行中删除重复条目不起作用

删除列表中的重复项。为什么我的代码出错?

索引匹配双重标准不起作用,这是什么问题?