leetcode----剑指 Offer 24. 反转链表

【题目】
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
【示例】
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
【思路】
遍历链表,保存到list中
再次遍历链表,倒序放入链表中
【代码】

public static ListNode reverseList(ListNode head) {
        List<Integer> temp = new ArrayList<>();
        ListNode p = head;
        while (p != null){
            temp.add(p.val);
            p = p.next;
        }
        ListNode pr = head;
        for (int i = temp.size() - 1; i >= 0; i--) {
            pr.val = temp.get(i);
            pr = pr.next;
        }
        return head;
    }

你可能感兴趣的:(加油加油坚持学算法,链表)