【力扣 简单 C】206. 反转链表
目录
题目
解法一:迭代
解法二:递归
题目
解法一:迭代
struct ListNode* reverse(struct ListNode* head)
{struct ListNode* newHead = NULL;while (head){struct ListNode* nextNode = head->next;head->next = newHead;newHead = head;head = nextNode;}return newHead;
}struct ListNode* reverseList(struct ListNode* head)
{return reverse(head);
}
解法二:递归
struct ListNode* reverse(struct ListNode* head)
{if (!head || !head->next)return head;struct ListNode* newHead = reverse(head->next);head->next->next = head;head->next = NULL;return newHead;
}struct ListNode* reverseList(struct ListNode* head)
{return reverse(head);
}