题解 | #反转链表#

反转链表

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

JZ24 反转链表
使用栈来对链表进行反转。注意考虑链表为空的情况,并且要记得最后的节点的next要设为null,否则会构成环
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 null;
        Stack<ListNode> stack = new Stack<>();
        ListNode temp = head;
        while(temp != null) {
            stack.push(temp);
            temp = temp.next;
        }
        ListNode reverseHead = stack.pop();
        ListNode p = reverseHead;
        while(!stack.isEmpty()) {
            p.next = stack.pop();
            p = p.next;
        }
        p.next = null;
        return reverseHead;
    }
}


全部评论

相关推荐

04-07 20:46
宁夏大学 Java
一个轮子项目一个苍穹外卖,外卖项目包装成其他的,但是技术点都没变,不知道这样可行不可行。有没有好心人帮我提点建议啊
拿铁不coding:找实习微服务可不学,mq大致场景要了解,但不学问题也不大。我没写在简历上,也没咋问。重点还是mysql redis Java的八股,我根据真实面经整理得到的最全(高/中/低频)面试题,需要的牛u可以订阅一手我的专栏,祝好运
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务