206. 反转链表
    难度简单1288
    反转一个单链表。
    示例:
    输入: 1->2->3->4->5->NULL
    输出: 5->4->3->2->1->NULL
    进阶:
    你可以迭代或递归地反转链表。你能否用两种方法解决这道题?


    1. // 借鉴 org
    2. public ListNode reverseList(ListNode head) {
    3. if(head==null){
    4. return head;
    5. }
    6. ListNode pre=null;
    7. ListNode cur=head;
    8. // ListNode next=head.next;
    9. while(cur!=null){
    10. ListNode next=cur.next;
    11. cur.next=pre;
    12. pre=cur;
    13. cur=next;
    14. //next=next.next;
    15. }
    16. return pre;
    17. }
    18. public ListNode reverseList1(ListNode head) {
    19. if(head==null||head.next==null){
    20. return head;
    21. }
    22. ListNode p=reverseList1(head.next);
    23. head.next.next=head;
    24. head.next=null;
    25. return p;
    26. }