java 反转一个单链表


/**
 * 链表节点
 * @author Administrator
 *
 */
public class ListNode {
     int val;
     ListNode next;
     ListNode(int x) {
         val = x; 
     }
     
     @Override
     public String toString()
     {
         ListNode head = this;
         StringBuffer sb = new StringBuffer();
         while (head != null) {
            sb.append(head.val+" ");
            head = head.next;
        }
         return sb.toString();
     }
}


public class LinkReverse {

    /**
     * 
     * <该表当前相邻两个节点的指向(箭头)>
     */
     public ListNode reverseList(ListNode head) {
         // 最终生成的链表
         ListNode prev = null;  
         // 当前走动的链表
         ListNode curr = head;
         while(curr != null)
         {
             // 把当前的链表指针存储下来
             ListNode next = curr.next;
             // 改变当前的指针指向新链表
             curr.next = prev;
             // 更新prev
             prev = curr;
             // 更新curr
             curr = next;
         }
         return prev;
     }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值