✏️ 문제

동생에게 전달해준 서류를 순서대로 서랍에 정리해달라고 부탁했더니, 서류를 반대 순서로 두었다.
다시 정렬하기 위해, 이미 정리된 순서의 반대로 서류를 역 정렬 시키는 프로그램을 제작해라.
입력값

1 -> 3 -> 7 -> null
3 -> 1 -> 9 -> 6 -> 4 -> null
6 -> 9 -> 7 -> 2 -> 1 -> 4 -> 3 -> null

출력값

#1 7  -> 3 -> 1 -> null
#2 4 -> 6 -> 9 -> 1 -> 3 -> null
#3 6 -> 9 -> 7 -> 2 -> 1 -> 4 -> 3 -> null

📝 풀이

// File 생성
function File(number) {
  this.number = number;
  this.next = null;
}

function LinkedList() {
  this.head = null;
}

function answer(ll) {
  let current = ll.head,
    prev = null,
    next;

  // 1. 역 방향 정렬
  while (current != null) {
    next = current.next;
    current.next = prev;
    prev = current;
    current = next;
  }

  // 2. head 업데이트
  ll.head = prev;

  return ll;
}
profile
#UXUI #코린이

0개의 댓글