从 Javascript 中的排序列表中删除重复项

     2023-02-22     165

关键词:

【中文标题】从 Javascript 中的排序列表中删除重复项【英文标题】:Remove Duplicates from Sorted List in Javascript 【发布时间】:2021-12-31 18:58:39 【问题描述】:

给定排序链表的头部,删除所有重复项,使每个元素只出现一次。返回排序好的链表。

输入:head = [1,1,2] 输出:[1,2]

解决方案:

    let curr=head;
    while(curr && curr.next)
        
        if(curr.val===curr.next.val)
            curr.next=curr.next.next;
        
        else
            curr=curr.next;
        
    
 return head;

我正在尝试在 leetcode 上解决这个问题,并找到了一个我无法理解的解决方案,为什么我们要在 let curr 中使用 head?而且,如果我尝试做同样的事情而不将head 放在另一个变量中,那么我只会得到[2] 作为输出。

【问题讨论】:

【参考方案1】:

我们为什么要在let curr 中使用head

有两个原因:

    curr 需要初始化为something,否则它会有一个未定义的值,使while 条件始终为假,因此不会发生迭代和删除。 p>

    curr 旨在一个接一个地引用每个(非重复)节点,因此从 first 节点开始是有意义的,即head

而且,如果我尝试做同样的事情而不将 head 放入另一个变量中,那么我只会得到 [2] 作为输出。

只有当您return head 更改为return curr 时,才会发生这种情况。如果你这样做,那么你将总是返回一个不超过一个节点的列表,因为在循环完成后,curr 将引用列表中的最后一个节点(如果它是不为空)。

为了返回一个列表中的所有节点,你需要总是返回它的first节点,这就是head所代表的。

【讨论】:

哦,我明白了。非常感谢您的帮助。

从 Vue 中的 v-for 列表中删除重复项

】从Vue中的v-for列表中删除重复项【英文标题】:Removingduplicatesfromav-forlistinVue【发布时间】:2020-10-1022:42:12【问题描述】:我正在尝试按类别对我的笔记列表进行排序。我在一个类别中有多个笔记,所以v-for在列表中多次返回分... 查看详情

从排序数组中删除重复项(不同的最终结果)

...布时间】:2021-10-2315:13:30【问题描述】:我是编程和学习Javascript的新手,通过leetcode.com做一些练习。我想编写一个代码来删除排序数组中的重复项。当我在函数末尾使用“console.log”来显示最终结果时,我得到了预期的结果。但... 查看详情

从 Ocaml 中的列表列表中删除重复项?

】从Ocaml中的列表列表中删除重复项?【英文标题】:RemovingduplicatesfromalistoflistsinOcaml?【发布时间】:2021-07-0120:24:42【问题描述】:我是Ocaml的新手,我被分配仅使用List模块删除列表列表的所有重复项。这是我写的代码:letsort_an... 查看详情

javascript[26。从排序数组中删除重复项]#tags:leetcode(代码片段)

查看详情

c_cpp83.从排序列表中删除重复项(代码片段)

查看详情

java82.从排序列表ii(递归).java中删除重复项(代码片段)

查看详情

java82.从排序列表ii(递归).java中删除重复项(代码片段)

查看详情

java82.从排序列表ii(递归).java中删除重复项(代码片段)

查看详情

java82.从排序列表ii(递归).java中删除重复项(代码片段)

查看详情

java82.从排序列表ii(递归).java中删除重复项(代码片段)

查看详情

java82.从排序列表ii(递归).java中删除重复项(代码片段)

查看详情

javascript从javascript中的对象数组中删除重复项(代码片段)

查看详情

从 C++ 中的排序数组中删除重复项

】从C++中的排序数组中删除重复项【英文标题】:Removingduplicatesfromasortedarrayinc++【发布时间】:2021-12-1201:54:47【问题描述】:我正在尝试从已排序的数组中删除重复项。代码为一个测试用例提供了正确的输出,但未能为多个测试... 查看详情

从列表中删除重复项?

...【发布时间】:2021-04-0210:20:15【问题描述】:我从适配器中的API获取重复项,但我想从我的适配器中删除这些重复项,并在知道如何打印后将其打印出来?提前致谢。得到:在我的卡片视图中重复行但通过API。想要:只想打印一... 查看详情

基于Javascript中的一列从多列中删除重复项

】基于Javascript中的一列从多列中删除重复项【英文标题】:RemoveduplicatesfrommulticolumnsbasedononecolumninJavascript【发布时间】:2018-04-2209:16:55【问题描述】:根据cont.id删除重复然后删除cont.id,cont.name,cont.classvarall_data=[]for(vari=0;i<data.c... 查看详情

从Python中的嵌套列表中删除连续的重复项?

】从Python中的嵌套列表中删除连续的重复项?【英文标题】:RemoveconsecutiveduplicatesfromnestedlistinPython?【发布时间】:2020-05-0823:33:49【问题描述】:我有一个嵌套列表,其结构如下:mylist=[[\'A\',\'Car\',\'15\'],[\'A\',\'Car\',\'15\'],[\'A\',\'P... 查看详情

Python排序和删除列表中的重复项使用re.sub

】Python排序和删除列表中的重复项使用re.sub【英文标题】:Pythonsortanddeleteduplicatesinlistanusere.sub【发布时间】:2021-02-2313:55:27【问题描述】:我对Python完全陌生。我尝试制作模拟bash命令:catdomains.txt|sort-u|sed\'s/^*.//g\'&gt;domains2.t... 查看详情

如何从 Javascript 中的数组中删除重复项?

】如何从Javascript中的数组中删除重复项?【英文标题】:HowtoRemoveDuplicatesFromArrayinJavascript?【发布时间】:2015-01-2506:42:32【问题描述】:这里我有两个多行文本框,并在两个文本框中输入一些数据,例如txt11,1,1,2,2,2,3txt21,2,3,4,5,当... 查看详情