입력된 Linked List 를 홀수 열과 짝수열을 구분하여 별개의 Linked List로 만든뒤 홀수열뒤에 짝수열 Linked List를 붙여서 돌려주는 문제.
단순하게 생각하면 입력된 Linked List를 while문으로 순회시켜 구성된느 값들을 짝수 홀수 열에따라 두개의 역배열로 구성하고, 해당 배열들을 for문으로 순회하여 Linked List로 구성한뒤 해당 배열을 이어붙인뒤 돌려주는 방식을 사용하면 될것이다.
하지만 이 경우 반복을 여러번 수행하는 감이 없지 않아있기에 해당 방식보다는 한번의 순회로 홀수열 짝수열 Linked List를 구성하고 이어 붙이는 방식을 사용하였다. 우선 만들게될 두 Linked List를 left와 right로 명명하고 left Linked List의 가장 앞으로 고정시킬 ans 와 right Linked List의 가장 앞으로 고정시킬 tail을 선언한다.
이후 입력된 Linked List를 while로 순회시키고 카운팅에 따라 left와 right에 배분을 하는데 새로운 Linked List 구성하고 이전의 next에 새 Linked List를 연결하고 연결될 노드를 다음 작업에 사용할 left나 right로 정의하여 매번 마지막 노드를 나타내게 구성하였다.
순회가 마무리 되면 홀수열은 ans에서 시작하여 left로 끝나는 Linked List를 구성하게되고 짝수열도 tail 에서 시작하여 right로 끝나는 Linked List를 구성하게 된다. 최종적으로 두 Linked List를 연결하여 결과로 돌려주면 풀이는 마무리된다.
로 끝날줄 알았지만 아쉽게도 들어오는 Linked List가 null 인 경우와 하나의 노드를 가진 경우
위 방식으로 정리가 되지 않아 별도의 조항을 작성해야 했다.
수면 문제 조절중. 프로젝트 진도 나간것 없음. 프로젝트는 큰 범주에서 보고 세세한 작은 단위 프로젝트를 생각 해봐야겠다.