206 反转链表

题目:206 反转链表

描述:

输入:1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL

预备知识:无

思路:

206 反转链表

1、 一个节点找不到前节点

2、 两个节点找不到前节点

3、 三个节点可以找到前节点

Oj:

https://leetcode-cn.com/problems/reverse-linked-list/

代码:

/**
 *
 * @author buer
 * @date 2019/1/14
 */
public class Solution {
    public class ListNode {
        int val;
        ListNode next;
        ListNode(int x) { val = x; }
    }

    public ListNode reverseList(ListNode head) {

        ListNode pre = null;
        ListNode cur = head;

        while (cur != null){
            ListNode next = cur.next;
            cur.next = pre;
            pre= cur;
            cur = next;
        }

        //返回pre,因为cur是null
        return pre;
    }
}