老师,LeetCode82号问题能不能给个答案

来源:5-3 设立链表的虚拟头结点 Remove Linked List Elements

青云_KULA

2019-02-11

写回答

1回答

liuyubobobo

2019-02-12

可以参考这里(C++):https://github.com/liuyubobobo/Play-Leetcode/blob/master/0082-Remove-Duplicates-from-Sorted-List-II/cpp-0082/main.cpp


整体思路:

对于每一个当前节点cur,查看一共有多少个节点和cur->val相同(32-37行)。

如果大于1,则将这一系列节点都删去。由于p在遍历的过程中,最终指向了第一个和cur->val不同的节点,所以删除过程,只需要cur的前一个节点prev的next指向p就好了。

当然,如果等于1,cur和prev向前挪,继续这个查找过程。


注意,这一版C++代码我没有做内存释放。不过对于算法问题,足以AC了:)


继续加油!:)

0
0

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程