翻转链表
2018-01-15 19:37
190 查看
思想
其实就是设置两个指针 pointer1, pointer2 。同步的移动pointer1, pointer2 ,head 这3个指针。这 3 个指针的前后顺序刚好是pointer1, pointer2 ,head。这道题应该注意的是while循环的判断条件: pointer2 != null
代码
public ListNode reverse(ListNode head) { ListNode pointer1, pointer2; pointer1 = null; pointer2 = head; while(pointer2 != null) { head = head.next; pointer2.next = pointer1; pointer1 = pointer2; pointer2 = head; } return pointer1; }
参考
相关文章推荐
- 单链表翻转
- C++循环链表中进行元素的翻转
- 单链表翻转
- 翻转有序链表的部分节点(美团)
- 算法学习-链表的部分翻转
- 算法题:lintcode#35 翻转链表(java)
- LintCode:翻转链表
- c++翻转链表
- 翻转链表,lintcode
- 翻转链表
- 链表翻转。比如给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5
- 链表翻转
- Lintcode:翻转链表
- [LeetCode] 25. Reverse Nodes in k-Group 每k个一组翻转链表
- 链表相邻元素翻转
- LeetCode 92. Reverse Linked List II(翻转链表)
- 翻转链表
- 链表翻转
- leetcode+链表翻转,快慢指针,经典套路
- LeetCode—单链表翻转