题目链接:反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

方法一:反转链表
/**

  • 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) {
    if (head == NULL || head->next == NULL) return head;
    ListNode* ans;
    ans = nullptr;
    while (head) {
        ListNode* t = head->next;
        head->next = ans;
        ans = head;
        head = t;
    }
    return ans;
}

};

标签: Easy, hot100, 链表

添加新评论