第八周作业
发布于: 2020 年 07 月 29 日
有两个单项链表,这两个单项链表有可能在某个元素合并,也可能不合并,找到合并的元素。
public class NodeLinked{ private Node head; public void add(Node node) { if (node != null) { addLast(node); } } void addLast(Node node) { if (head == null) { head = node; } else { head.next = node; } } public void foreach(Consumer<Node> c) { Node tmpNode = head; if (head != null) { do { c.accept(tmpNode); } while ((tmpNode = tmpNode.next) != null); } } }class Node { public Node next; public Node(Node next) { this.next = next; }}class Test{ public static void main(String[] args) { LinkedDemo linkedOne = new LinkedDemo(); LinkedDemo linkedTwo = new LinkedDemo(); Node sharedNode = new Node(); linkedOne.add(new Node()); linkedOne.add(new Node()); linkedOne.add(new Node()); linkedOne.add(sharedNode); linkedTwo.add(new Node()); linkedTwo.add(new Node()); linkedTwo.add(sharedNode); Set<Node> nodeSet = new HashSet<Node>(); linkedOne.foreach(nodeSet::add); linkedTwo.foreach(t ->{ if(nodeSet.contains(t)) { System.out.println("sharedNode -> " + t); } }); } }
时间复杂度O(n)
空间复杂度O(n)
划线
评论
复制
发布于: 2020 年 07 月 29 日阅读数: 46
Geek_a327d3
关注
还未添加个人签名 2020.04.14 加入
还未添加个人简介
评论