[LeetCode]206. Reverse Linked List

来源:互联网 发布:苹果手机估价淘宝 编辑:程序博客网 时间:2024/05/16 12:24

题目描述:Reverse a singly linked list.
分析:将一个链表原地逆转

解题思路:将头结点与之后的节点断开,将之后的节点使用头插法连接到头结点后面。

public ListNode reverseList(ListNode head) {        if(head==null)return null;        //考虑到head在LeetCode中为实际存在的一个链表节点        ListNode newHead = new ListNode(0);        newHead.next = null;        ListNode p1 = head;        ListNode temp = null;        while(p1!=null){            temp = p1;            p1 = p1.next;            temp.next = newHead.next;            newHead.next = temp;        }        return newHead.next;    }    class ListNode{        int val;        ListNode next;        public ListNode(int x){            val = x;        }    }
原创粉丝点击