mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 02:53:31 +08:00
Merge pull request #1010 from xiaofei-2020/ts6
添加(面试题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:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
|
Reference in New Issue
Block a user