어흥

[해커랭크] Compare two linked lists (C++) 본문

알고리즘/HackerRank

[해커랭크] Compare two linked lists (C++)

라이언납시오 2021. 1. 15. 10:51
728x90
반응형

문제 링크: www.hackerrank.com/challenges/compare-two-linked-lists/problem?h_r=internal-search

 

Compare two linked lists | HackerRank

Compare the data in two linked lists node by node to see if the lists contain identical data.

www.hackerrank.com

1. 주의할 점

- 길이가 다를 경우에 대한 예외 처리를 한다

- 값이 다를 경우에 대한 예외 처리를 한다

 

2. 구현

- head1과 head2가 가리키는게 NULL이라면 true를 반환한다

- 둘중 하나만 NULL을 가리킨다면 false를 반환한다

- 둘다 NULL이 아닐 경우, 값을 비교하여 틀리면 False를 반환하고 같으면 둘다 다음 Node를 가리

키도록 설정한다

bool compare_lists(SinglyLinkedListNode* head1, SinglyLinkedListNode* head2) {
    while(1){
        if(head1 == nullptr && head2 == nullptr) return true;
        else if((head1 == nullptr && head2 !=nullptr) || (head1 != nullptr && head2 ==nullptr)) return false;
        else{
            if(head1->data != head2->data) return false;
            head1 = head1->next;
            head2 = head2->next;
        }
    }
}
728x90
반응형
Comments