If You and Me

What is Forever?

导航

面试题二 反转链表

LinkedNode reserve(LinkedNode head){
	if (head == NULL) return NULL;
	LinkedNode p1 = head;
	LinkedNode p2 = head->next;
	LinkedNode p3 = NULL;

	while (p2 != NULL){
		p3 = p2->next;
		p2->next = p1;

		p1 = p2;
		p2 = p3;
	}
	head->next = NULL;
	return p1;
}

注意问题:
表头是否为NULL
反转后是否断裂
反转后返回的头结点是否为原始链表尾结点。

  

posted on 2015-03-30 11:23  alwaystiys  阅读(150)  评论(0编辑  收藏  举报