206. 反转链表


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;
    }

文章作者:   future
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 future !
 上一篇
105. 从前序与中序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树难度中等 719根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3
2020-10-23 future
下一篇 
19. 删除链表的倒数第N个节点 19. 删除链表的倒数第N个节点
19. 删除链表的倒数第 N 个节点难度中等 1064给定一个链表,删除链表的倒数第 n *个节点,并且返回链表的头结点。*示例:**给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个
2020-10-19 future
  目录