反转链表-java

反转链表-java,第1张

反转链表-java

力扣
定义一个函数,输入一个链表的头节点反转该链表并输出反转后链表的头节点。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
力扣的头节点好像和c不一样,头节点直接存放第一个有效数据

class Solution {
    public ListNode reverseList(ListNode head) {
           Stack stack = new Stack<>();
            ListNode c=head;
            while(c!=null){
                stack.push(c);
                c=c.next;
            }
                
            if(stack.isEmpty())
             return null;

            ListNode s=stack.pop();
            ListNode node=s;
            while(!stack.isEmpty()){
                ListNode temp=stack.pop();
                s.next=temp;
                s=s.next;
            }
            s.next=null;
            return node;

    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5482891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存