跳到主要内容

LCR171.训练计划V

链接:LCR171.训练计划V
难度:Easy
标签:哈希表、链表、双指针
简介:输入两个链表,找出它们的第一个公共节点。

题解 1 - typescript

  • 编辑时间:2021-07-21
  • 执行用时:112ms
  • 内存消耗:45.5MB
  • 编程语言:typescript
  • 解法介绍:利用 set 储存每个节点。
var getIntersectionNode = function (headA, headB) {
const set = new Set();
let p = headA;
while (p) {
set.add(p);
p = p.next;
}
p = headB;
while (p) {
if (set.has(p)) return p;
p = p.next;
}
return null;
};

题解 2 - typescript

  • 编辑时间:2021-07-21
  • 执行用时:88ms
  • 内存消耗:45.1MB
  • 编程语言:typescript
  • 解法介绍:双指针。
var getIntersectionNode = function (headA, headB) {
let pA = headA;
let pB = headB;
if (!pA || !pB) return null;
while (pA !== pB) {
pA = pA === null ? headB : pA.next;
pB = pB === null ? headA : pB.next;
}
return pA;
};