반응형
코딩하기 전 생각하기
/*
nullptr에서 시작하는 rhead 포인터를 선언한다.
head를 traverse한다.
rhead 값을 prev에 저장한다.
rhead에 head 값을 저장한다.
rhead->next에 prev 값을 저장한다.
rhead를 반환한다.
*/
코드
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* rhead = nullptr;
while ( head != nullptr ) {
ListNode* prev = rhead;
rhead = head;
rhead->next = prev;
head = head->next;
}
return rhead;
}
};
느낀점
왠지 교수님께서 내주시는 문제 같다. 교수님 제 풀이가 맞나요?~~
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] 26. Remove Duplicates from Sorted Array (C++) (0) | 2021.08.01 |
---|---|
[LeetCode] 733. Flood Fill (C++) (0) | 2021.07.31 |
[LeetCode] 234. Palindrome Linked List (C++) (0) | 2021.07.31 |
[LeetCode] 1047. Remove All Adjacent Duplicates In String (C++) (0) | 2021.07.31 |
[LeetCode] 1209. Remove All Adjacent Duplicates in String II (C++) (0) | 2021.07.30 |
댓글