본문 바로가기

Algorithm/기타(기업등)

[SAP/C++] reversed Linked List

728x90

난이도 중

 

역순 연결리스트 만들기

practice.geeksforgeeks.org/problems/reverse-a-linked-list/1/?company[]=SAP%20Labs&company[]=SAP%20Labs&page=1&query=company[]SAP%20Labspage1company[]SAP%20Labs

 

Reverse a linked list | Practice | GeeksforGeeks

 

practice.geeksforgeeks.org

 

 

 

 

코드

/* Linked List Node structure:

struct Node
{
    int data;
    struct Node *next;
}

*/



class Solution
{
    public:
    //Function to reverse a linked list.
    struct Node* reverseList(struct Node *head)
    {
        
        Node* p, *q, *r;
        p = head; // 전체 리스트 탐색용 
        q = NULL; // 역순 리스트의 head노드
        
        if(p==NULL) return p;
        
        while(p!=NULL){ // 리스트를 하나씩 탐색 
            r = q; // r을 q로 만듬 
            q = p; // p를 q로만듬(p는 다음을 탐색해야해서 하면 없어지니깐)  
            p = p->next; //리스트의 다음을 탐색 
            q->next=r; // 역순연결 
        }
        
        return q; //역순 리스트의 head
    }
    
};

 

728x90

'Algorithm > 기타(기업등)' 카테고리의 다른 글

[SAP/C++] BST from postorder  (0) 2021.04.24
[SAP/C++] Mirror Tree  (0) 2021.04.24
[SAP/C++]Check Circular Linked List  (0) 2021.04.22
[SAP/C++] Remove Space  (0) 2021.04.21
[SAP/C++] Smallest Divisor  (0) 2021.04.21