反转链表
反转链表最常用的就是双指针法了
图解:
首先,创建两个指针,begin和end,一个begin为空,一个end指向链表开头1。

然后begin=end;end往后移动指向像一个节点,如下图

重复以上步骤,直到end为空。
代码如下
/** * 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) { ListNode* begin,*end; begin=NULL; end=head; while(end!=NULL) { ListNode* temp=end->next; end->next=begin; begin=end; end=temp; } return begin; } };
posted on 2023-06-03 15:48 WhatAnyWay 阅读(55) 评论(0) 收藏 举报
浙公网安备 33010602011771号