力扣-206题(Java)-空链表中依次放入节点

2021/6/5 1:20:54

本文主要是介绍力扣-206题(Java)-空链表中依次放入节点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目链接:https://leetcode-cn.com/problems/reverse-linked-list/
题目如下:
在这里插入图片描述
在这里插入图片描述

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        HashMap<Integer,ListNode> hash=new HashMap<Integer,ListNode>();
        int count=0;

        //将每个节点放入hashmap中,用count计数
        while(head!=null){
            hash.put(count++,head);
            head=head.next;
        } 

        //倒序放入新的链表中,空指针中依次放入节点
        ListNode list=new ListNode(0);
        ListNode pre=list;
        while(--count>=0){
            pre.next=hash.get(count);
            pre=pre.next;
        }
        pre.next=null;

        return list.next;
    }
}


这篇关于力扣-206题(Java)-空链表中依次放入节点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程