链表面试题(二)---链表逆序(链表反转)
2017-05-16 23:15
288 查看
一、结构体定义
二、代码:
typedef int DataType; typedef struct ListNode//定义结点 { DataType data; struct ListNode* next; }ListNode,*PListNode; typedef struct PList//定义一个成员是指向结点的指针的结构体 { PListNode PHead; }List,*PList;
二、代码:
//2.链表逆序(翻转) void ReverseList(PList PList) { PListNode cur=NULL; PListNode NewNode=NULL; PListNode tmp=NULL; cur=PList->PHead; assert(PList); if (PList->PHead==NULL||PList->PHead->next==NULL)//空链表或着只有一个结点的链表 { return PList->PHead; } else//大于两个结点 { while (cur) { tmp=cur; cur=cur->next;//先将当前指针更新到下一个结点 tmp->next=NewNode; NewNode=tmp; } PList->PHead=NewNode;//更新链表的头 } }
相关文章推荐
- 面试题二 反转链表
- 面试题16:反转链表
- 面试题-反转链表
- 剑指offer——面试题16:反转链表
- 单链表的逆序(反转)
- 剑指offer面试题16——反转链表
- 《剑指Offer》面试题16:反转链表
- C++实现链表逆序打印、链表反转
- 单链表逆序、反转
- iOS 算法面试题(冒泡排序、选择排序、链表逆序)~demo
- 华为机试题(8)--单向链表的建立,反转(逆序),遍历显示,删除
- 面试题16—反转链表
- 剑指offer-面试题16-反转链表
- [程序员面试题精选100题]19.反转链表
- 【剑指offer】面试题16:反转链表
- 链表面试题之常规题1 -- 反转链表
- 《剑指Offer》面试题:反转链表
- 链表逆序面试题
- 单链表反转/逆序的第三种方法
- 《剑指offer》面试题16—反转链表