输入一个链表,反转链表后,输出链表的所有元素。
循环方法:
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { if(head==null) return null; ListNode a=null; ListNode b=null; while(head!=null) { a=head.next; head.next=b; b=head; head=a; } return b; } }
递归方法:
public class RevSingleLinkFactory { public static Node reverse1(Node head) { if (head ==null ||head.next()==null) return head; Node reversedHead = reverse1(head.next()); head.next().next(head); head.next(null); return reversedHead; }
递归方法还没搞懂
原文:http://zhenzhuangde.blog.51cto.com/10697385/1730144