Java单链表基本操作(四)--单链表反转

本文探讨了Java中单链表反转这一常见的算法问题,强调其在笔试面试中的重要性,并提到该技巧是单链表操作的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单链表反转是笔试面试中考察最多的算法之一,是单链表里必须要熟练掌握的算法。

/** 
 * @author Gavenyeah
 * @date Start_Time:2016年4月1日 上午11:38:18 
 * @date End_Time:2016年4月1日 上午11:46:13 
 */
public class ReverseSingleList {
    public static void main(String args[]){
        Node head=ListNode.getSingleList();
        ListNode.printList(head);
        head=new ReverseSingleList().reverseSingleList(head);
        ListNode.printList(head);
    }
     public Node reverseSingleList(Node head){
            if(head== null||head. next== null){
                 return head;
           }
           Node preNode=head;
           Node pNode=head. next;
           Node markNode=head. next;
           head. next= null; //一定要断开head节点的next节点,不然形成了循环
            while(markNode!= null){
                markNode=markNode. next;
                pNode. next= preNode;
                 preNode=pNode;
                pNode=markNode;
           }
            return preNode;
     }
}

代码中调用的Node类和ListNode类,代码详见
Java单链表基本操作(一)–顺序查找

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值