java实现翻转链表
2017-08-06 21:47
232 查看
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
缺陷:没有在原链表的基础上进行反转
public ListNode reverse(ListNode head) { if(head == null){ return null; } //用来保存上一个tmp ListNode prev = null; while (head != null) { ListNode tmp = head; head = head.next; tmp.next = prev; prev = tmp; } return prev; }
缺陷:没有在原链表的基础上进行反转
public ListNode ReverseList(ListNode head) { if(head == null){ return null; } ListNode rHead = null; ListNode prior = null;//store prior ListNode q = head;//store current while(q != null){ ListNode next = q.next;//store the next if(next == null){ rHead = q; } q.next = prior; prior = q; q = next; } return rHead; }
相关文章推荐
- Java 倒置(翻转)链表的两种实现
- Java 实现单链表翻转代码
- Java实现翻转单链表
- 单链表翻转Java实现
- Java实现单链表翻转实例代码
- 剑指offer--面试题16:翻转链表--Java实现
- Java单链表反转 Java实现单链表翻转
- Java实现-翻转链表2
- Java实现-翻转链表
- Java实现泛型链表
- 某一天的思考题(使用Java实现链表)的参考答案
- JAVA实现链表
- 用java数组实现基本链表和可自扩充的链表
- 利用链表实现队列的Java代码
- Java实现链表
- Java实现链表
- java实现链表的例子!!
- Java语言中链表和双向链表的实现
- JAVA实现双向链表
- 在java实现自定义链表(单向链表)