翻转链表
2014-08-12 23:45
197 查看
翻转链表有很多方法:在翻转时1.采用头插法,2.尾插法,3.递归翻转法
翻转时头插法:
翻转时头插法:
public ListNode reverseList(ListNode head) { if (head.next == null || head == null) { return head; } ListNode ret = null;// 结果链表头结点 ListNode cur = head;// 遍历 while (cur != null) { if (ret == null) { ListNode tmp = cur.next;// 原链表摘下来的节点 cur.next = null; ret = cur; cur = tmp; } else { ListNode tmp = cur.next; cur.next = ret; ret = cur; cur = tmp; } } return ret; }
相关文章推荐
- C++循环链表中进行元素的翻转
- 单链表翻转的多种方法实现(c语言)
- 【经典面试题】翻转单链表
- 单链表翻转
- 翻转链表-迭代和递归双版本
- 链表翻转
- lintcode-36-翻转链表 II
- 链表翻转(升级版)【每日一题】
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6
- 【每日一题-11】求二叉树高度/销毁一棵二叉树与链表翻转
- 每天一道算法题(16)——翻转链表
- 原地排序与链表翻转
- [2014美团网笔试]给定一个单链表和一个整数k,要求每隔k个元素翻转链表
- C++ 链表翻转
- 单链表翻转的几种写法
- 链表的翻转实现
- 翻转链表
- 35. 翻转链表
- 翻转链表