单链表的翻转
2016-04-29 10:47
344 查看
思路:遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。
public ListNode ReverseList(ListNode head) { if(head == null){ return head; } ListNode p1 = head; ListNode p2 = head.next; ListNode p3; while(p2!=null){ p3 = p2.next; p2.next = p1; p1 = p2; p2 = p3; } head.next = null; head = p1; return head; }
相关文章推荐
- C#定义并实现单链表实例解析
- C#数据结构之单链表(LinkList)实例详解
- C语言实现单链表逆序与逆序输出实例
- C语言单链表常见操作汇总
- C数据结构之单链表详细示例分析
- C++中单链表的建立与基本操作
- 深入单链表的快速排序详解
- C语言创建和操作单链表数据结构的实例教程
- C语言单链表的实现
- java实现单链表中是否有环的方法详解
- java实现单链表、双向链表
- Python单链表的简单实现方法
- Python单链表简单实现代码
- Go语言单链表实现方法
- Python单链表简单实现代码
- 结构之美:在单链表指定位置插入数据
- 《编程之美》3.4:没有头结点的单链表如何删除结点
- 结构之美:使用尾插法创建单链表
- 单链表实现
- 单链表的实现及其操作