Reverse Linked List

来源:互联网 发布:evdo是什么网络几g 编辑:程序博客网 时间:2024/06/05 03:05

Reverse a singly linked list.

click to show more hints.

Hint:

A linked list can be reversed either iteratively or recursively. Could you implement both?


Solution:

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* reverseList(ListNode* head) {        if(!head || !head->next) return head;        ListNode *lead = new ListNode(-1);        lead->next = head;        ListNode *pre = head, *p = head->next;        while(p)        {            pre->next = p->next;            p->next = lead->next;            lead->next = p;            p = pre->next;        }                return lead->next;    }};


0 0
原创粉丝点击