leetcode的题目206

206. 反转链表

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

方法一(迭代)思路:建立三个指针,cer指向head,pre指向cer的前一个,next指向cer的下一个,逐个遍历,每次都将当前结点的next(指针域)指向前一个(即将箭头反转方向),再将cer和pre前移一位,直到cer为空时代表整个链表已经遍历完了(每个结点都反转)。

注意:退出条件不能是cer->next !=NULL(当前结点是最后一个节点),因为使用该条件时,最后一个结点没有完成反转,结果会出错。


方法二(递归)只能理解,还不能写出来~~先贴个答案


你可能感兴趣的:(leetcode的题目206)