登录
  • #刷题
  • #careercup

链表去重,我自己写的极简版,有点小问题

TonyJang
1934
13
package chapter2;[br][/br][br][/br]import java.util.*;[br][/br][br][/br]public class removeDup{[br][/br][br][/br]public static LinkedList<Integer> removeDup(LinkedList<Integer> list){[br][/br][br][/br]HashSet<Integer> set=new HashSet<Integer>();[br][/br][br][/br]ListIterator<Integer> it= list.listIterator();[br][/br][br][/br]while(it.hasNext()){[br][/br][br][/br]        if(set.contains(it.next())){[br][/br][br][/br]                [br][/br][br][/br]                it.remove();[br][/br][br][/br]        }else{[br][/br][br][/br]                [br][/br][br][/br]                set.add(it.previous());[br][/br][br][/br]                it.next();[br][/br][br][/br]                [br][/br][br][/br]        }[br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]}[br][/br][br][/br]return list;        [br][/br][br][/br]}[br][/br][br][/br]public static void main(String[] args){[br][br][/br]        [br][/br][br][/br]        LinkedList<Integer> list=new LinkedList<Integer>();[br][/br][br][/br]        [br][/br][br][/br]        list.add(2);[br][/br][br][/br]        list.add(7);[br][/br][br][/br]        list.add(3);[br][/br][br][/br]        list.add(8);[br][/br][br][/br]        list.add(1);[br][/br][br][/br]        list.add(2);[br][/br][br][/br]        list.add(3);[br][/br][br][/br]        [br][/br][br][/br]        System.out.println(removeDup(list).toString());[br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]}[br][/br][br][/br]}
我想用java自带的Linkedlist类,这样简洁一些,但是运行有错误,很简单的一个问题都错了,还不知道错在哪儿,太打击人了。。。

另外再问一下,大家平时写链表的题目用java自带的linkedlist类吗?我看地里很多大牛都是Node->LinkedList自己构造的
13条回复
热度排序

发表回复