공부/Algorithm

[HackerRank] Merge two sorted linked lists

김샤랑 2022. 3. 7. 21:33

[HackerRank] Merge two sorted linked lists


 

  • 문제 링크

https://www.hackerrank.com/challenges/merge-two-sorted-linked-lists/problem?isFullScreen=true 

 


시간복잡도: O(n)

 

  • 코드
def mergeLists(head1, head2):
    
    start =SinglyLinkedListNode(0) 
    end = start
    
    while 1:

        #end while condition
        if(head1 == None):
            end.next=head2 
            break
        
        if(head2 == None):
            end.next=head1
            break
            
        #compare
        if head1.data > head2.data:  
            end.next = head2
            head2 = head2.next

        elif head1.data < head2.data:
            end.next = head1
            head1 = head1.next

        else: #head1.data==head2.data:
            end.next = head1
            head1= head1.next 
            
            end = end.next
            
            end.next = head2
            head2 = head2.next
            
        end = end.next
        
    return start.next