链表反转
链表反转主要操作就是使用p和q两个指针配合工作,使得两个节点间的指向反向
如图所示:

代码如下:
- (void)reverse
{
BBSingleLinkedNode *prev = nil;
BBSingleLinkedNode *current = _headNode;
BBSingleLinkedNode *next = nil;
while (current) {
next = current.next;
current.next = prev;
prev = current;
current = next;
}
_headNode = prev;
}