问答题

用单链表保存m个整数,结点的结构为:[dlata][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如下:
则删除结点后的head为:
要求: 说明你所设计算法的时间复杂度和空间复杂度。

【参考答案】

正确答案:算法的时间复杂度为O(m),空间复杂度为O(n)。