面试 居然问如何 反转单向链表~~
2011-08-28 14:13
369 查看
面试当时有点紧张,犯2了,居然写了个空间O(N)的垃圾反转代码。其实很简单,刚刚用两三个指针折腾下就行了,代码如下 :
ZList * ListAlgorithm::ListConverse(ZList *L)
{
ZList *Pre= NULL;
ZList *Cur = L;
ZList *Next = NULL;
while(Cur != NULL)
{
Next = Cur->next;
Cur->next = Pre;
Pre = Cur;
Cur = Next;
}
return Pre;
}
ZList * ListAlgorithm::ListConverse(ZList *L)
{
ZList *Pre= NULL;
ZList *Cur = L;
ZList *Next = NULL;
while(Cur != NULL)
{
Next = Cur->next;
Cur->next = Pre;
Pre = Cur;
Cur = Next;
}
return Pre;
}
相关文章推荐
- 【我要去面试】单向链表反转
- 如何使用递归和非递归方式反转单向链表
- 如何反转单向链表和双向链表( 空间复杂度O(1) )
- 面试之路(28)-反转链表(reverse ListNode)
- 线性复杂度反转单向链表
- 单向链表反转
- 单向链表的反转
- 【剑指Offer面试编程题】题目1518:反转链表--九度OJ
- [google面试CTCI] 2-3 只给定链表中间节点指针,如何删除中间节点?
- 反转部分单向链表 Python 版
- 实现单向链表的反转
- 使用递归和非递归方式反转单向链表
- 如何判断两个单向链表是否有相交,并找出交点
- 面试之路(28)-反转链表(reverse ListNode)
- 如何判断两个无环单向链表是否有重合结点
- 两条相交的单向链表,如何求他们的第一个公共节点
- 单向链表反转
- 链表问题——反转单向链表和双向链表
- C递归实现单向链表的反转
- C++基础之单向链表反转