题解 | #反转链表#

反转链表

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

反转列表:
思路:经典解法是用一个双链表,也就是摘掉原链表中的head节点之后,将其挂在新链表的第一个节点。pre初始化为新链表的第一个节点为null,p为需要摘掉的head节点的下一个节点,用来索引位置。

代码
public class Solution {
    public ListNode ReverseList(ListNode head) {
        // 初始化pre指针,用于记录当前节点的前一个节点地址
        ListNode pre = null;
        // 初始化p指针,用于记录当前节点的下一个地址地址
        ListNode p = null;
        // head指向null时,循环终止
        while(head != null){
            p = head.next;
            head.next = pre;
            pre = head;
            head = p;
        }
        return pre;
    }
}
全部评论

相关推荐

会飞的猿:本人来了,手一抖转错了,我是学生,能还给我吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务