【算法刷题】【反转链表】给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

题目

在这里插入图片描述

解决:

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    
    
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param head ListNode类
     * @return ListNode类
     */
    public ListNode ReverseList (ListNode head) {
    
    
        // write code here
        ListNode end = null;
        while (head != null) {
    
    
            ListNode endNext = null;
            if (end == null) {
    
    
                end = new ListNode(head.val);
                end.next = null;
            } else {
    
    
                endNext = new ListNode(end.val);
                endNext.next = end.next;
                end.next = endNext;
                end.val = head.val;
            }
            head = head.next;
        }
        return end;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44002043/article/details/133675481