反转链表
题目:
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
static ListNode reverse(ListNode head){ /*当前节点*/ ListNode curr=head; /*临时节点*/ ListNode pre=null; while (curr!=null){ /*记录当前节点的后一个节点*/ ListNode temp=curr.next; /*赋值当前节点的下一个节点是临时节点*/ curr.next=pre; /*赋值临时节点为当前节点*/ pre=curr; /*当前节点赋值为下一个节点,继续遍历*/ curr=temp; } return pre; }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@Data public static class ListNode{ private int value; private ListNode next; public ListNode(int value){ this.value=value; } }