題目網址:https://leetcode.cn/problems/reverse-linked-list/

題意:反轉 linked-list。

Solution:

想法:必須要有 prev, nxt 來記住前一個 node 和 下一個 node

class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *prev = nullptr, *nxt = nullptr;
while (head) {
nxt = head->next;
head->next = prev;
prev = head;
head = nxt;
}
return prev;
}
};
  • time:$O(n)$ ➔ 遍歷整個 linked list
  • space:$O(1)$ ➔ 只需要常數空間