链接
https://leetcode-cn.com/problems/reverse-linked-list/
耗时
解题:15 min
题解:4 min
题意
反转一个单链表。
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路
下一个节点等于当前节点,当前节点等于下一个节点,下一个节点等于下下一个节点,以此类推。
PS:注意链表为空,或只有一个节点的情况。
AC代码
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* cur = head;
if(cur == NULL) {
return cur;
}
ListNode* nex = cur->next;
if(nex == NULL) {
return cur;
}
ListNode* nex2 = nex->next;
cur->next = NULL;
while(nex2 != NULL) {
nex->next = cur;
cur = nex;
nex = nex2;
nex2 = nex->next;
}
nex->next = cur;
return nex;
}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)