struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
ListNode * reverseList(ListNode* head) {
ListNode* preNode = head;
ListNode* nextNode = head->next;
head->next = nullptr;
while (preNode && nextNode)
{
auto tmp = nextNode->next;
nextNode->next = preNode;
preNode = nextNode;
nextNode = tmp;
}
return preNode;
}
void Print(ListNode* n)
{
while (n)
{
LOG_INFO << "LIST " << n->val;
n = n->next;
}
}
Solution()
{
ListNode* l1 = new ListNode(1);
ListNode* l2 = new ListNode(2);
l1->next = l2;
ListNode* l3 = new ListNode(3);
l2->next = l3;
ListNode* l4 = new ListNode(4);
l3->next = l4;
ListNode* ll = reverseList(l1);
Print(ll);
}
};
反转链表
最新推荐文章于 2024-06-14 09:15:00 发布