-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[gitsunmin] WEEK11 Solutions #555
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
한 주 수고 많으셨습니다. 좋은 풀이 감사합니다.
// 1. 중간 지점 찾기 (Floyd’s Tortoise and Hare) | ||
let slow: ListNode | null = head; | ||
let fast: ListNode | null = head; | ||
|
||
while (fast && fast.next) { | ||
slow = slow!.next; | ||
fast = fast.next.next; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전에 cycle 찾을 때 봤던 알고리즘인데, 이러게 중간 지점 찾는 용도로도 사용할 수 있군요
let first: ListNode | null = head; | ||
let second: ListNode | null = prev; | ||
|
||
while (second && second.next) { | ||
const temp1 = first!.next; | ||
const temp2 = second.next; | ||
|
||
first!.next = second; | ||
second.next = temp1; | ||
|
||
first = temp1; | ||
second = temp2; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 전체 리스트를 뒤집어 놓고, 원래 리스트랑 뒤집은 리스트랑 같이 조회하면서 병합시켰는데, 이렇게하면 메모리를 아낄 수 있는 좋은 풀이인 것 같습니다.
답안 제출 문제
체크 리스트
In Review
로 설정해주세요.