输入一个链表,反转链表后,输出链表的所有元素。
循环方法:
/*
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