160. 교차 링크
이 문 제 는 사실 사상 적 으로 매우 간단 하 다. 바로 두 개의 체인 시 계 를 같은 라인 에 유지 하고 함께 뒤로 옮 겨 다 니 며 최종 적 으로 이들 이 가리 키 는 주소 가 같은 결점 을 찾 는 것 이다. 이것 이 바로 공공 결점 이다.자세 한 내용 은 아래 코드 를 보고 세 단계 로 나 누 십시오.
코드 구현:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {
struct ListNode* Alen = headA;
struct ListNode* Blen = headB;
int la = 0;
int lb = 0;
//1、
while(Alen)
{
la++;
Alen = Alen->next;
}
while(Blen)
{
lb++;
Blen = Blen->next;
}
//2、 , ,
struct ListNode* longList = headA;
struct ListNode* shortList = headB;
if(la<lb)
{
longList = headB;
shortList = headA;
}
int gap = abs(la-lb);
while(gap--)
{
longList = longList->next;
}
//3、 , ,
while(longList)
{
// ,
if(longList == shortList)
{
return longList;
}
//
longList = longList->next;
shortList = shortList->next;
}
return NULL;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.