题解 | #反转链表#

反转链表

http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

public ListNode ReverseList(ListNode head  ) {
    ListNode pre = null;   //反转链表
    ListNode next = null;  //暂存head的下一存储地址(即下一指向head.next)

//循环以head不为空进行
    while (head != null) {
        next = head.next;     //暂存下一节点head.next
        head.next = pre;      //将当前节点指向pre
        pre = head;           //让pre移动头结点到head,这里指的是将当前节点作为pre的头节点
        head = next;          //将head的下一节点赋于head,进行下一次的循环
    }
    return pre;               //循环结束返回反转完成的链表pre

}
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务