架构师第 8 课作业及学习总结
发布于: 2021 年 01 月 10 日
学习总结
学习了常见的数据结构和 hash 表原理,经典算法,网络通信基本原理与性能优化。
作业
时间复杂度:O(m+n),空间复杂度 O(m+n)
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
ListNode l1 = headA, l2 = headB;
while (l1 != l2) {
l1 = (l1 == null) ? headB : l1.next;
l2 = (l2 == null) ? headA : l2.next;
}
return l1;
}
复制代码
public static Integer findMergeNode(Node nodeOne, Node nodeTwo) {
Node node2 = nodeTwo;
Node node1 = nodeOne;
Stack<Node> nodeStack1 = new Stack<>(), nodeStack2 = new Stack<>();
while (node2 != null || node1 != null) {
if (node1 != null) {
nodeStack1.push(node1);
node1 = node1.next;
}
if (node2 != null) {
nodeStack2.push(node2);
node2 = node2.next;
}
}
Node resultNode = null;
while (nodeStack1 != null && nodeStack2 != null) {
Node nodeTemp1 = nodeStack1.pop();
Node nodeTemp2 = nodeStack2.pop();
if (!nodeTemp1.data.equals(nodeTemp2.data)) {
break;
}
resultNode = nodeTemp1;
}
if (resultNode == null) {
return null;
}
return resultNode.data;
}
复制代码
划线
评论
复制
发布于: 2021 年 01 月 10 日阅读数: 11
版权声明: 本文为 InfoQ 作者【小诗】的原创文章。
原文链接:【http://xie.infoq.cn/article/6cc36f535b4d8a1aa3d7d7396】。文章转载请联系作者。
小诗
关注
还未添加个人签名 2019.06.14 加入
还未添加个人简介
评论