[데이터 구조 - 9] 두 결점 헤드 가 있 는 비공 식 단일 체인 테이블 을 지정 하고 체인 테이블 의 중간 결점 을 되 돌려 줍 니 다
2698 단어 데이터 구조
머리 결점 헤드 가 있 는 비공 식 단일 체인 시 계 를 정 하고 체인 시계의 중간 결점 을 되 돌려 줍 니 다. 만약 에 두 개의 중간 결점 이 있 으 면 두 번 째 중간 결점 으로 돌아 갑 니 다.
예시 1:
입력: [1, 2, 3, 4, 5] 출력: 이 목록 의 노드 3 (직렬 화 형식: [3, 4, 5]) 에서 돌아 오 는 노드 값 은 3 입 니 다.
예시 2:
입력: [1, 2, 3, 4, 5, 6] 출력: 이 목록 의 결점 4 (서열 화 형식: [4, 5, 6]) 이 목록 은 두 개의 중간 결점 이 있 기 때문에 값 은 각각 3 과 4 이다. 우 리 는 두 번 째 결점 으로 돌아간다.
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
사고 분석:
1. 빠 르 고 느 린 지침 을 만들어 서 같이 가게 합 니 다. 그러나 하 나 는 두 걸음 을 걷 고 하 나 는 한 걸음 을 걷 습 니 다. 2. 빠 른 지침 이 NULL 에 갔 을 때 노드 가 홀수 일 때 느 린 지침 은 바로 중간 노드 이 고 노드 가 짝수 일 때 느 린 지침 은 바로 두 중간 노드 중의 두 번 째 3 입 니 다. 주의:
1. , pCur!=NULL, , pCur->next!=NULL
2. , &&
코드 구현:struct ListNode* middleNode(struct ListNode* head)
{
struct ListNode* pCur=head;
struct ListNode* pPre=head;
while(pCur!=NULL && pCur->next!=NULL)
{
pCur=pCur->next->next;
pPre=pPre->next;
}
return pPre;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.