常见链表操作之链表逆序
2018-01-17 11:13
393 查看
链表逆序也是比较常见的操作,注意断链接链!注意判断空状态!
LIST_NODE * ListNodeReverse(LIST_NODE * m_pHead) { if (m_pHead == NULL) { return NULL; } if (m_pHead->next == NULL) { return m_pHead; } LIST_NODE * m_pReverse = NULL; LIST_NODE * m_pCurrent = m_pHead; while(m_pCurrent != NULL) { LIST_NODE * pTemp = m_pCurrent; //保存当前节点 m_pCurrent = m_pCurrent->next; //将当前节点向下移动 pTemp->next = m_pReverse; //将保存的节点连接·到反向链表的头 m_pReverse = pTemp; //将链表接上 } return m_pReverse; }
相关文章推荐
- 单链表常见操作——18个难度各异的问题
- C/C++面试之算法系列--典型的几个链表操作-逆序和重排
- 链表操作--逆序
- 链表的常见操作入门(一)
- 常见算法:C语言中链表的操作(创建,插入,删除,输出)
- 典型的几个链表操作-逆序和重排
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 链表的创建、逆序等操作
- 给定的单链表逆序操作的递归与非递归算法总结
- 链表常见操作【整理自剑指offer及csdn】
- 链表常见操作
- C语言——带头节点单链表常见操作
- 链表的常见操作
- C语言实现单向链表的常见操作
- 链表的常见操作
- 单链表常见操作
- 单链表操作,队列,栈实现,以及常见字符串库函数经典实现
- 链表的常见操作
- C语言链表常见基本操作
- 面试高频题:单链表的逆置操作/链表逆序