我的朋友在接受采访时问过这个问题.面试官要求找到算法并用Java编写代码
问题:从两个链接列表中查找类似的元素,并将结果作为链接列表返回
例如:如果linkedlist1有1-> 2-> 3-> 4-> 4-> 5-> 6且linkedlist2有1-> 3-> 6-> 4-> 2-> 8
结果链表1-> 2-> 3-> 4-> 6
谢谢
怎么样:
return new LinkedList(new LinkedHashSet(list1).retainAll(list2));
Run Code Online (Sandbox Code Playgroud)
这样可以保留订单list1.当然有人可能会抱怨这是作弊,如果提问者意味着你应该自己构建算法,但如果唯一的限制是"用Java编写代码",那么这是一个有效的解决方案(很可能更有效和bug-免于任何人的手工制作的低级解决方案).