题解 | #反转链表#

反转链表

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

import java.util.*;
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head==null) return head; //空
        ListNode temphead = head; //新建节点引用作为新链表的第一次头插法的头节点
        while(head.next!=null)//遍历旧节点,依次头插法插入新节点
        {            
            ListNode temp = temphead;//保存上一次的头节点,这次的头节点的next
            temphead = head.next;//获取这次的头节点
            head.next = head.next.next;//将这次的头节点从旧链表除开
            temphead.next = temp;//将这次的头节点和上一次的头节点连接起来
        }
              
        return temphead;
    }
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务