题解 | #反转链表#

反转链表

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

using System;
using System.Collections.Generic;

/*
public class ListNode
{
    public int val;
    public ListNode next;

    public ListNode (int x)
    {
        val = x;
    }
}
*/

class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param head ListNode类
     * @return ListNode类
     */
    public ListNode ReverseList (ListNode head) {
        // write code here

        //解题思路:从头结点读取,然后用头插法逐个插入读取的元素

        //新头结点
        ListNode node = new ListNode(-1);

        while (head != null) {
            //新结点
            var temp = new ListNode(head.val);
            //新结点的引用域指向新头结点的引用域
            temp.next = node.next;
            //新头结点的引用域指向新结点
            node.next = temp;

            head = head.next;
        }
        //返回头结点的引用域
        return node.next;
    }
}

全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务