描述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路
利用pre、cur、next保存前一个、当前、下一个节点, 判断好临界值即可
实现
func reverseList(head *ListNode) *ListNode {
// 如果空链表或者一个节点的链表直接返回
if head == nil || head.Next == nil{
return head
}
var pre *ListNode = nil
var cur = head
for cur != nil{
next := cur.Next
cur.Next = pre
pre = cur
cur = next
}
return pre
}