160.回文链表(javascript)160.IntersectionofTwoLinkedLists
原创为您提供两个单个链接列表的头部节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链接列表没有相交节点,则返回 null 。
图2节点处的链接列表。 c1 开始相交:
题目数据 保证 整个链条结构中没有环。 
请注意,函数返回结果后,链表必须 保持其原始结构 。
自定义评估:
评测系统 输入如下(您设计的程序 不适用 此输入):
- intersectVal - 相交的起始节点的值。如果不存在相交节点,则该值为 0
- listA - 第一个链接列表
- listB - 第二个链接列表
- skipA - 在 listA 跳到交叉节点的节点数(从起始节点开始)。
- skipB - 在 listB 跳到交叉节点的节点数(从起始节点开始)。
评估系统将根据这些输入创建一个链数据结构,并将有两个头部节点。 headA 和 headB 程序传给了你。如果程序正确返回相交节点,您的解决方案将是 作为正确答案 。
第一步:首先headA遍历时,所有节点都存在。map中
第二步:对headB遍历,当节点出现在map返回当前节点;null
/**
* @param {ListNode} headA
* @param {ListNode} headB
* @return {ListNode}
*/
var getIntersectionNode = function (headA, headB) {
let h = new Map()
while (headA != null) {
if (!h.has(headA)) {
h.set(headA)
}
headA=headA.next
}
while (headB != null) {
if (h.has(headB)) {
return headB
}
headB=headB.next
}
return null
}; 版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




