描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入:
{1,2,3}
复制返回值:
{3,2,1}
public class Jz15_ReverseList {
@Test
public void test() {
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
ListNode listNode4 = new ListNode(4);
ListNode listNode5 = new ListNode(5);
listNode1.next = listNode2;
listNode2.next = listNode3;
listNode3.next = listNode4;
listNode4.next = listNode5;
ListNode listNode = ReverseList(listNode1);
while(null != listNode){
System.out.print(listNode.val + ",");
listNode = listNode.next;
}
}
public ListNode ReverseList(ListNode head) {
ListNode cur = head;
ListNode nCur = null;
while(null != cur){
ListNode t = cur.next;
cur.next = nCur;
nCur = cur;
cur = t;
}
return nCur;
}
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
}