# 編寫函數以獲取兩個鍊錶的交點

## 例

```1 -> 2
\
5 -> 6
/
3 -> 4```
`Point of intersection: 5`

## 推薦碼

### C ++代碼查找兩個鏈接列表的交集

```#include <bits/stdc++.h>
using namespace std;

struct ListNode{
int data;
ListNode *next;
};

ListNode* create(int data){
ListNode* tmp = new ListNode();
tmp->data = data;
tmp->next = NULL;
return tmp;
}

int length(ListNode *tmp){
int cnt =  0;
while(tmp != NULL){
cnt++;
tmp = tmp->next;
}
return cnt;
}

if(lenA > lenB){
int cnt = lenA - lenB;
while(cnt--)
} else {
int cnt = lenB - lenA;
while(cnt--)
}
}
return NULL;
}

int main(){

cout<<"Intersection at node: ";
}```
`Intersection at node: 5`

### Java代碼查找兩個鏈接列表的交集

```import java.util.*;
class ListNode{
int data;
ListNode next;
}

class Main{

static ListNode create(int data){
ListNode tmp = new ListNode();
tmp.data = data;
tmp.next = null;
return tmp;
}

static int length(ListNode tmp){
int cnt =  0;
while(tmp != null){
cnt++;
tmp = tmp.next;
}
return cnt;
}

if(lenA > lenB){
int cnt = lenA - lenB;
while(cnt-- > 0)
} else {
int cnt = lenB - lenA;
while(cnt-- > 0)
}
}
return null;
}

public static void main(String[] args){

System.out.print("Intersection at node: ");
}
}```
`Intersection at node: 5`

## 複雜度分析

### 空間複雜度

O（1）， 我們存儲的唯一內容是鍊錶的長度，這使得該算法僅佔用恆定空間。