反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
class Solution {
public ListNode reverseList(ListNode head) {
if(head!=null){
ListNode node = new ListNode(head.val);
ListNode q = node;
node.next = null;
ListNode p = head.next;
while(p!=null){
ListNode preNode = new ListNode(p.val);
preNode.next = q;
q = preNode;
p = p.next;
}
return q;
}else{
return null;
}
}
}