第八周作业

用户头像
Geek_a327d3
关注
发布于: 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)

用户头像

Geek_a327d3

关注

还未添加个人签名 2020.04.14 加入

还未添加个人简介

评论

发布
暂无评论
第八周作业