문제링크 : www.hackerrank.com/challenges/merge-two-sorted-linked-lists/problem
웬만하면 리스트 문제풀이에서 새로운 리스트를 생성하는 일은 안하려 했는데 도저히 생각나지 않았다.
다른 풀이는 재귀로 풀었는데 이해하기 쉬운코드는 아니었다.
static SinglyLinkedListNode mergeLists(SinglyLinkedListNode head1, SinglyLinkedListNode head2) {
SinglyLinkedList sl = new SinglyLinkedList();
while(head1!=null && head2!=null){
if(head1.data<=head2.data){
sl.insertNode(head1.data);
head1=head1.next;
}else{
sl.insertNode(head2.data);
head2=head2.next;
}
}
if(head1==null){
while(head2!=null){
sl.insertNode(head2.data);
head2=head2.next;
}
}else{
while(head1!=null){
sl.insertNode(head1.data);
head1=head1.next;
}
}
return sl.head;
}
'알고리즘 > 해커랭크' 카테고리의 다른 글
[해커랭크] Find Merge Point of Two Lists (0) | 2021.01.14 |
---|---|
[해커랭크] Delete duplicate-value nodes from a sorted linked list (0) | 2021.01.14 |
[해커랭크] Get Node Value (0) | 2021.01.14 |
[해커랭크] Compare two linked lists (0) | 2021.01.13 |
[해커랭크] Reverse a linked list (0) | 2021.01.13 |