문제

→ 연결 리스트가 주어지면 역순의 연결 리스트를 반환하라

→ 예시

→ 입력 : [1, 2, 3, 4, 5]

→ 출력 : [5, 4, 3, 2, 1]

Untitled

접근 방법

→ 반복문 활용 while

→ 이전 값 - 현재 값 next에 넣기

def reverseList(head):
	node = head #노드 생성
	prev = None #이전 리스트
	
	# 노드가 있는 경우 반복
	while node :
		next = node.next #노드의 다음값부터의 리스트
		node.next = prev #노드의 다음값은 이전값 리스트 넣기
		prev = node # 현재의 노드를 이전값으로 넣기
		node = next # 노드 다음값부터 원상 복귀
	
	# 결과 출력
	return prev

해석

→ 반복문 내에서의 풀이

head = [1, 2, 3, 4, 5]

<1회차>

코드 결과
next = node.next 2 3 4 5
node.next = prev 1
prev = node 1
node = next 2 3 4 5

<2회차>

코드 결과
next = node.next 3 4 5
node.next = prev 2 1
prev = node 2 1
node = next 3 4 5

<3회차>

코드 결과
next = node.next 4 5
node.next = prev 3 2 1
prev = node 3 2 1
node = next 4 5

<4회차>