题目描述
输入一个链表,反转链表后,输出新链表的表头。
题目链接:
1 /* 2 public class ListNode { 3 int val; 4 ListNode next = null; 5 6 ListNode(int val) { 7 this.val = val; 8 } 9 }*/ 10 public class Solution { 11 public ListNode ReverseList(ListNode head) { 12 if(null == head){ 13 return null; 14 } 15 //记录新链表的表头 16 ListNode newHead = null; 17 //记录旧链表的表头 18 ListNode oldTail = head; 19 while(oldTail != null){ 20 //存一下当前节点 21 ListNode cur = oldTail; 22 //旧链表下一个节点 23 oldTail = oldTail.next; 24 //当前节点指向新链表表头 25 cur.next = newHead; 26 //更新新链表表头 27 newHead = cur; 28 } 29 30 return newHead; 31 } 32 }