206. 反转链表
难度简单 1288
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
####
// 借鉴 org
public ListNode reverseList(ListNode head) {
if(head==null){
return head;
}
ListNode pre=null;
ListNode cur=head;
// ListNode next=head.next;
while(cur!=null){
ListNode next=cur.next;
cur.next=pre;
pre=cur;
cur=next;
//next=next.next;
}
return pre;
}
public ListNode reverseList1(ListNode head) {
if(head==null||head.next==null){
return head;
}
ListNode p=reverseList1(head.next);
head.next.next=head;
head.next=null;
return p;
}