mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
添加(面试题02.07.链表相交.md):增加typescript版本
This commit is contained in:
@ -239,6 +239,43 @@ var getIntersectionNode = function(headA, headB) {
|
||||
};
|
||||
```
|
||||
|
||||
TypeScript:
|
||||
|
||||
```typescript
|
||||
function getIntersectionNode(headA: ListNode | null, headB: ListNode | null): ListNode | null {
|
||||
let sizeA: number = 0,
|
||||
sizeB: number = 0;
|
||||
let curA: ListNode | null = headA,
|
||||
curB: ListNode | null = headB;
|
||||
while (curA) {
|
||||
sizeA++;
|
||||
curA = curA.next;
|
||||
}
|
||||
while (curB) {
|
||||
sizeB++;
|
||||
curB = curB.next;
|
||||
}
|
||||
curA = headA;
|
||||
curB = headB;
|
||||
if (sizeA < sizeB) {
|
||||
[sizeA, sizeB] = [sizeB, sizeA];
|
||||
[curA, curB] = [curB, curA];
|
||||
}
|
||||
let gap = sizeA - sizeB;
|
||||
while (gap-- && curA) {
|
||||
curA = curA.next;
|
||||
}
|
||||
while (curA && curB) {
|
||||
if (curA === curB) {
|
||||
return curA;
|
||||
}
|
||||
curA = curA.next;
|
||||
curB = curB.next;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
```
|
||||
|
||||
C:
|
||||
|
||||
```c
|
||||
|
Reference in New Issue
Block a user