链表逆序
来源:互联网 发布:tengine php 安装配置 编辑:程序博客网 时间:2024/05/02 00:08
链表逆序就是把一个链表按照原来的链接顺序逆序实现(也就是将头变成尾,尾变成头)。
编程思路:其实最关键的是先通过原来的链接顺序找到下个节点,然后再把前个节点反序。
链表的头节点如下:
struct ListNode{void* m_nKey;ListNode* m_pNext;};
常规实现:
ListNode* ReverseIteratively(ListNode* pHead){ListNode* pReversedHead = NULL;ListNode* pNode = pHead;ListNode* pPrev = NULL;while(pNode != NULL){// get the next node, and save it at pNextListNode* pNext = pNode->m_pNext; // if the next node is null, the currect is the end of original // list, and it's the head of the reversed list if(pNext == NULL) pReversedHead = pNode; // reverse the linkage between nodes pNode->m_pNext = pPrev; // move forward on the the list pPrev = pNode; pNode = pNext; }}
递归实现(不需要临时节点):
ListNode* reverse_list( ListNode* head) //逆序{ListNode* new_head=head;if(head==NULL || head->next==NULL)return head;new_head = reverse_list(head->next);head->next->next=head;head->next=NULL; //防止链表成为一个环,这是最关键的。return new_head; }
- 链表的逆序
- 链表逆序
- 链表逆序
- 链表逆序小结
- 逆序链表
- 链表逆序 :华硕
- 链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 实现链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 润乾报表设计器操作说明
- 浙江大学PAT上机题解析之1006. 换个格式输出整数 (15)
- Java中的UUID生成全球唯一的ID
- win7+cocos2d-x2.1.3+NDK9r+cygwin+adt-bundle-windows-x86-20130729由VS2010WIN32移植到android
- java软件工程师面试常遇到的问题
- 链表逆序
- fzu 2109(数位dp)
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###5.使用JLINK间接烧写u-boot至FLASH的方法与步骤
- 王子选妃问题分析
- css专题【入门】【扩展】【技巧】
- (转载)Unable to execute dex: Multiple dex files define Landroid错误解决
- ubuntu 安装Rhytmbox多媒体插件时出现错误
- 优化ViewPager切换效果
- Sublime Text2 快捷键汇总